2016-06-17 10 views
8

पर स्ट्रीमिंग डेटा मैं जानना चाहता हूं कि किसी BigQuery तालिका के विशिष्ट समय विभाजन में डेटा स्ट्रीम करने का कोई तरीका है या नहीं। प्रलेखन का कहना है कि आप तालिका सज्जाकार का उपयोग करना चाहिए:एक विशिष्ट BigQuery समय विभाजन

Loading data using partition decorators

Partition decorators enable you to load data into a specific partition. To adjust for timezones, use a partition decorator to load data into a partition based on your preferred timezone. For example, if you are on Pacific Standard Time (PST), load all data generated on May 1, 2016 PST into the partition for that date by using the corresponding partition decorator:

[TABLE_NAME]$20160501

स्रोत: https://cloud.google.com/bigquery/docs/partitioned-tables#dealing_with_timezone_issues

और:

Restating data in a partition

To update data in a specific partition, append a partition decorator to the name of the partitioned table when loading data into the table. A partition decorator represents a specific date and takes the form:

$YYYYMMDD

स्रोत: https://cloud.google.com/bigquery/docs/creating-partitioned-tables#creating_a_partitioned_table

लेकिन अगर मैं उन्हें इस्तेमाल करने का प्रयास करते स्ट्रीमिंग डेटा मुझे निम्न त्रुटि मिली: तालिका सजावट का उपयोग स्ट्रीमिंग सम्मिलन के साथ नहीं किया जा सकता है।

अग्रिम धन्यवाद!

उत्तर

5

असुविधा के लिए खेद है। हम निकट भविष्य में इसके लिए समर्थन प्रदान करने पर विचार कर रहे हैं। कृपया अधिक अपडेट के लिए देखते रहें।

संभावित समाधानों कि कई मामलों में काम कर सकते हैं:

  1. आप डेटा का अधिकांश हिस्सा उपलब्ध है (जो कभी कभी मामला है जब एक पुराने विभाजन के लिए डेटा restating है), आप के साथ एक लोड नौकरी उपयोग कर सकते हैं गंतव्य के रूप में विभाजन।

  2. एक अन्य विकल्प अस्थायी तालिका को स्ट्रीम करने के लिए और बाद में डेटा स्ट्रीमिंग का बफर से प्लावित कर दिया गया है, BQ सीपी का उपयोग

+0

हाय पावन, आपके उत्तर के लिए धन्यवाद। अगर मुझे दूसरे विकल्प का उपयोग करना चाहिए और कई दिनों से डेटा होना चाहिए, तो सबसे अच्छा तरीका कौन सा है? 1) प्रत्येक दिन के लिए एक अलग तालिका में डेटा स्ट्रीम करें और फिर सजावटी का उपयोग कर अंतिम विभाजित तालिका में कॉपी करें। 2) एक अद्वितीय तालिका में डेटा स्ट्रीम करें और उसके बाद प्रत्येक दिन के लिए फ़ील्ड के आधार पर परिणाम पूछें और उन्हें सजावटी का उपयोग करके अंतिम विभाजित तालिका में कॉपी करें। 3) अन्य अग्रिम धन्यवाद –

+0

त्वरित प्रश्न: क्या कोई कारण है कि आप सीधे तालिका में स्ट्रीम नहीं कर सकते (विशिष्ट विभाजन नहीं) और बड़ी अवधि विभाजन विभाजन को अनुमानित करें। हम समझते हैं कि ऐसे मामले हैं जहां यह सुविधाजनक नहीं हो सकता है लेकिन यह सुनिश्चित करना चाहते हैं कि वास्तव में यहां मामला है। –

+0

उदाहरण के लिए, मेरे उपयोगकर्ताओं में से एक एक नई परियोजना जोड़ता है और बाहरी एपीआई से अपने पिछले 30 दिनों के डेटा आयात करना चाहता है। मैं उस डेटा को अपने संवाददाता समय विभाजन में स्ट्रीम करना चाहता हूं, इसलिए मैं अपने डैशबोर्ड में चयनित समयावधि के डेटा से पूछताछ कर सकता हूं। यह बहुत अच्छा होगा अगर हम विभाजन के टाइमस्टैम्प को घुमाने के लिए 'विभाजन संदर्भ' के रूप में तालिका के किसी भी फ़ील्ड का चयन कर सकते हैं। मुझे लगता है कि अब यह नहीं किया जा सकता है। धन्यवाद फिर पवन। –

1

यह सुविधा हाल ही में जारी किया गया था और अब आप एक सजाया में सीधे स्ट्रीम कर सकते हैं है ऐतिहासिक रूप से पिछले 30 दिनों के भीतर तिथि विभाजन और भविष्य में 5 दिन।

https://cloud.google.com/bigquery/streaming-data-into-bigquery

संबंधित मुद्दे