कनेक्टेड शीट की मदद से, सीधे Google Sheets में पेटाबाइट डेटा का विश्लेषण किया जा सकता है. अपनी स्प्रेडशीट को किसी BigQuery डेटा वेयरहाउस से कनेक्ट किया जा सकता है. साथ ही, पिवट टेबल, चार्ट, और फ़ॉर्मूला जैसे जाने-पहचाने शीट टूल का इस्तेमाल करके, अपनी स्प्रेडशीट का विश्लेषण किया जा सकता है.
इस गाइड में, Shakespeare
सार्वजनिक डेटासेट का इस्तेमाल करके, कनेक्टेड शीट की सुविधा को इस्तेमाल करने का तरीका बताया गया है. डेटासेट में
यह जानकारी शामिल होती है:
फ़ील्ड | टाइप | ब्यौरा |
---|---|---|
शब्दों वाले गेम | STRING |
कॉर्पस से निकाला गया एक यूनीक शब्द (जहां खाली सफ़ेद जगह, डीलिमिटर होता है). |
word_count | INTEGER |
इस कॉर्पस में यह शब्द कितनी बार दिखता है. |
कॉर्पस | STRING |
वह काम जिससे यह शब्द निकाला गया था. |
corpus_date | INTEGER |
वह साल जिसमें इस संग्रह को पब्लिश किया गया था. |
अगर आपका ऐप्लिकेशन, कनेक्टेड शीट के किसी डेटा के लिए अनुरोध करता है, तो उसे OAuth 2.0 टोकन उपलब्ध कराना होगा. यह टोकन bigquery.readonly
का इस्तेमाल करने की अनुमति देता है. साथ ही, Google Sheets API के सामान्य अनुरोध के लिए, ज़रूरी अन्य दायरों का भी इस्तेमाल किया जा सकता है. ज़्यादा जानकारी के लिए, Google Sheets API के स्कोप चुनना लेख पढ़ें.
डेटा सोर्स मैनेज करना
डेटा सोर्स एक बाहरी जगह के बारे में बताता है, जहां डेटा पाया जाता है. इसके बाद, डेटा सोर्स स्प्रेडशीट से कनेक्ट हो जाता है.
BigQuery डेटा सोर्स जोड़ना
डेटा सोर्स जोड़ने के लिए, spreadsheets.batchUpdate
तरीके का इस्तेमाल करके
AddDataSourceRequest
उपलब्ध कराएं. अनुरोध के मुख्य हिस्से में, DataSource
ऑब्जेक्ट टाइप का dataSource
फ़ील्ड
बताना चाहिए.
"addDataSource":{
"dataSource":{
"spec":{
"bigQuery":{
"projectId":"PROJECT_ID",
"tableSpec":{
"tableProjectId":"bigquery-public-data",
"datasetId":"samples",
"tableId":"shakespeare"
}
}
}
}
}
PROJECT_ID की जगह मान्य Google Cloud प्रोजेक्ट आईडी डालें.
डेटा सोर्स बनने के बाद, उससे जुड़ी एक DATA_SOURCE
शीट बनाई जाती है. इसमें ज़्यादा से ज़्यादा 500 लाइनों की झलक देखी जा सकती है. झलक तुरंत उपलब्ध नहीं
है. BigQuery डेटा इंपोर्ट करने के लिए,
एक्ज़ीक्यूशन को एसिंक्रोनस रूप से ट्रिगर किया जाता है.
AddDataSourceResponse
में ये फ़ील्ड शामिल होते हैं:
dataSource
: बनाया गयाDataSource
ऑब्जेक्ट.dataSourceId
, स्प्रेडशीट के स्कोप वाला यूनीक आईडी होता है. यह डेटा अपने-आप भर जाता है और डेटा सोर्स से हरDataSource
ऑब्जेक्ट बनाने के लिए इसका रेफ़रंस दिया जाता है.dataExecutionStatus
: प्रोसेस होने का स्टेटस, जिससे BigQuery डेटा को झलक वाली शीट में इंपोर्ट किया जाता है. ज़्यादा जानकारी के लिए, डेटा एक्ज़ीक्यूशन की स्थिति सेक्शन देखें.
डेटा सोर्स को अपडेट करना या मिटाना
spreadsheets.batchUpdate
तरीके का इस्तेमाल करें और उसके मुताबिक
UpdateDataSourceRequest
या
DeleteDataSourceRequest
अनुरोध करें.
डेटा सोर्स के ऑब्जेक्ट मैनेज करें
स्प्रेडशीट में डेटा सोर्स जोड़ने के बाद, उससे एक डेटा सोर्स ऑब्जेक्ट बनाया जा सकता है. डेटा सोर्स ऑब्जेक्ट, Sheets का सामान्य टूल होता है. जैसे, पिवट टेबल, चार्ट, और फ़ॉर्मूला, जिन्हें डेटा का विश्लेषण बेहतर तरीके से करने के लिए कनेक्टेड शीट के साथ इंटिग्रेट किया गया है.
ऑब्जेक्ट चार तरह के होते हैं:
DataSource
टेबलDataSource
pivotTableDataSource
चार्टDataSource
फ़ॉर्मूला
डेटा सोर्स की टेबल जोड़ना
टेबल ऑब्जेक्ट, शीट एडिटर में "एक्सट्रैक्ट" के नाम से जाना जाता है. यह डेटा सोर्स से डेटा के स्टैटिक डंप को Sheets में इंपोर्ट करता है. पिवट टेबल की तरह ही, टेबल को सबसे ऊपर बाईं ओर मौजूद सेल में दिखाया जाता है और ऐंकर किया जाता है.
यहां दिए गए कोड सैंपल में बताया गया है कि
spreadsheets.batchUpdate
तरीके का इस्तेमाल कैसे किया जाता है. साथ ही, UpdateCellsRequest
दो कॉलम (word
और
word_count
) की 1,000 लाइनों तक डेटा सोर्स की टेबल बनाने का तरीका क्या है.
"updateCells":{
"rows":{
"values":[
{
"dataSourceTable":{
"dataSourceId":"DATA_SOURCE_ID",
"columns":[
{
"name":"word"
},
{
"name":"word_count"
}
],
"rowLimit":{
"value":1000
},
"columnSelectionType":"SELECTED"
}
}
]
},
"fields":"dataSourceTable"
}
DATA_SOURCE_ID को स्प्रेडशीट के स्कोप वाले ऐसे यूनीक आईडी से बदलें जो डेटा सोर्स की पहचान करता हो.
डेटा सोर्स की टेबल बनाने के बाद, डेटा तुरंत उपलब्ध नहीं होता. इसे Sheets एडिटर में, झलक के तौर पर दिखाया जाता है. BigQuery डेटा फ़ेच करने के लिए,
आपको डेटा सोर्स टेबल को रीफ़्रेश करना होगा. आप उसी batchUpdate
में
RefreshDataSourceRequest
तय कर सकते हैं. ध्यान दें कि सभी डेटा सोर्स के ऑब्जेक्ट एक जैसे काम करते हैं.
ज़्यादा जानकारी के लिए, डेटा सोर्स के ऑब्जेक्ट को रीफ़्रेश करना लेख पढ़ें.
रीफ़्रेश पूरा होने और BigQuery डेटा फ़ेच होने के बाद, डेटा सोर्स की टेबल इस तरह से अपने-आप भर जाती है:
डेटा सोर्स का पिवट टेबल जोड़ें
पारंपरिक पिवट टेबल से अलग, डेटा सोर्स में पिवट टेबल का बैक अप डेटा सोर्स होता है और उसमें कॉलम के नाम के हिसाब से डेटा दिखाया जाता है. नीचे दिया गया कोड सैंपल दिखाता है कि
spreadsheets.batchUpdate
तरीके और UpdateCellsRequest
का इस्तेमाल करके कैसे पिवट टेबल बनाई जाती है. इस टेबल में कॉर्पस के हिसाब से शब्दों की
कुल संख्या दिखाई जाती है.
"updateCells":{
"rows":{
"values":[
{
"pivotTable":{
"dataSourceId":"DATA_SOURCE_ID",
"rows":{
"dataSourceColumnReference":{
"name":"corpus"
},
"sortOrder":"ASCENDING"
},
"values":{
"summarizeFunction":"SUM",
"dataSourceColumnReference":{
"name":"word_count"
}
}
}
}
]
},
"fields":"pivotTable"
}
DATA_SOURCE_ID को स्प्रेडशीट के स्कोप वाले ऐसे यूनीक आईडी से बदलें जो डेटा सोर्स की पहचान करता हो.
BigQuery डेटा फ़ेच होने के बाद, डेटा सोर्स में मौजूद पिवट टेबल में इस तरह से अपने-आप जानकारी भरी जाती है:
डेटा सोर्स का चार्ट जोड़ना
नीचे दिए गए कोड सैंपल में, spreadsheets.batchUpdate
तरीके और AddChartRequest
का इस्तेमाल करके, COLUMN के chartType
वाले डेटा सोर्स चार्ट को बनाने का तरीका बताया गया है. इसमें कॉर्पस के हिसाब से शब्दों की कुल संख्या दिखाई गई है.
"addChart":{
"chart":{
"spec":{
"title":"Corpus by word count",
"basicChart":{
"chartType":"COLUMN",
"domains":[
{
"domain":{
"columnReference":{
"name":"corpus"
}
}
}
],
"series":[
{
"series":{
"columnReference":{
"name":"word_count"
},
"aggregateType":"SUM"
}
}
]
}
},
"dataSourceChartProperties":{
"dataSourceId":"DATA_SOURCE_ID"
}
}
}
DATA_SOURCE_ID को स्प्रेडशीट के स्कोप वाले ऐसे यूनीक आईडी से बदलें जो डेटा सोर्स की पहचान करता हो.
BigQuery डेटा फ़ेच होने के बाद, डेटा सोर्स चार्ट इस तरह रेंडर होता है:
डेटा सोर्स का फ़ॉर्मूला जोड़ें
नीचे दिया गया कोड सैंपल दिखाता है कि औसत शब्दों की संख्या का हिसाब लगाने के लिए, spreadsheets.batchUpdate
तरीके और UpdateCellsRequest
का इस्तेमाल कैसे किया जाता है.
"updateCells":{
"rows":[
{
"values":[
{
"userEnteredValue":{
"formulaValue":"=AVERAGE(shakespeare!word_count)"
}
}
]
}
],
"fields":"userEnteredValue"
}
BigQuery डेटा फ़ेच होने के बाद, डेटा सोर्स का फ़ॉर्मूला नीचे बताए गए तरीके से पॉप्युलेट होता है:
डेटा सोर्स के ऑब्जेक्ट को रीफ़्रेश करना
डेटा सोर्स की मौजूदा विशेषताओं और ऑब्जेक्ट कॉन्फ़िगरेशन के आधार पर, BigQuery से नया डेटा फ़ेच करने के लिए, डेटा सोर्स ऑब्जेक्ट को रीफ़्रेश किया जा सकता है. RefreshDataSourceRequest
को कॉल करने के लिए, spreadsheets.batchUpdate
तरीके का इस्तेमाल किया जा सकता है.
इसके बाद, DataSourceObjectReferences
ऑब्जेक्ट का इस्तेमाल करके, रीफ़्रेश करने के लिए एक या उससे ज़्यादा ऑब्जेक्ट रेफ़रंस तय करें.
ध्यान दें कि एक ही batchUpdate
अनुरोध में, डेटा सोर्स में ऑब्जेक्ट बनाए और रीफ़्रेश किए जा सकते हैं.
डेटा प्रोसेस होने का स्टेटस
डेटा सोर्स बनाने या डेटा सोर्स के ऑब्जेक्ट रीफ़्रेश करने पर, BigQuery से डेटा फ़ेच करने और DataExecutionStatus
वाला रिस्पॉन्स देने के लिए, बैकग्राउंड एक्ज़ीक्यूशन बन जाता है.
अगर प्रोसेस शुरू हो जाती है, तो DataExecutionState
आम तौर पर RUNNING
स्थिति में होता है.
यह प्रोसेस एसिंक्रोनस होती है, इसलिए आपके ऐप्लिकेशन को पोलिंग मॉडल लागू करना चाहिए, ताकि डेटा सोर्स से जुड़े ऑब्जेक्ट के लिए समय-समय पर स्टेटस हासिल किया जा सके. spreadsheets.get
तरीके का इस्तेमाल तब तक करें, जब तक स्टेटस SUCCEEDED
या FAILED
न दिखे. ज़्यादातर मामलों में, एक्ज़ीक्यूशन जल्दी पूरा होता है, लेकिन यह आपके डेटा सोर्स की जटिलता पर निर्भर करता है. आम तौर पर, एक्ज़ीक्यूशन 10 मिनट से ज़्यादा नहीं होता है.
मिलते-जुलते विषय
- Google Sheets API के स्कोप चुनना
- Google Sheets में BigQuery डेटा का इस्तेमाल शुरू करना
- BigQuery दस्तावेज़
- BigQuery: कनेक्टेड शीट की सुविधा का इस्तेमाल करना
- कनेक्टेड शीट के लिए वीडियो ट्यूटोरियल