कनेक्टेड शीट

कनेक्टेड शीट की मदद से, सीधे Google Sheets में पेटाबाइट डेटा का विश्लेषण किया जा सकता है. अपनी स्प्रेडशीट को BigQuery डेटा वेयरहाउस या Looker से कनेक्ट किया जा सकता है. साथ ही, पिवट टेबल, चार्ट, और फ़ॉर्मूले जैसे Sheets के जाने-पहचाने टूल का इस्तेमाल करके विश्लेषण किया जा सकता है.

BigQuery डेटा सोर्स मैनेज करना

इस सेक्शन में, कनेक्टेड शीट का इस्तेमाल करने का तरीका दिखाने के लिए, BigQuery के Shakespeare के सार्वजनिक डेटासेट का इस्तेमाल किया गया है. डेटासेट में यह जानकारी शामिल होती है:

फ़ील्ड टाइप ब्यौरा
शब्द STRING कॉर्पस से निकाला गया एक यूनीक शब्द (जहां खाली जगह डिलीमिटर है).
word_count INTEGER इस कॉर्पस में यह शब्द कितनी बार दिखता है.
कॉर्पस STRING वह कॉन्टेंट जिसमें से यह शब्द निकाला गया है.
corpus_date INTEGER वह साल जब यह कॉर्पस पब्लिश किया गया था.

अगर आपका ऐप्लिकेशन, BigQuery कनेक्टेड शीट के किसी डेटा का अनुरोध करता है, तो उसे एक OAuth 2.0 टोकन देना होगा. यह टोकन, Google Sheets API के सामान्य अनुरोध के लिए ज़रूरी अन्य स्कोप के साथ-साथ bigquery.readonly स्कोप भी देता है. ज़्यादा जानकारी के लिए, 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 डेटा को झलक वाली शीट में इंपोर्ट करने वाले एक्सीक्यूशन का स्टेटस. ज़्यादा जानकारी के लिए, डेटा लागू करने की स्थिति सेक्शन देखें.

BigQuery डेटा सोर्स को अपडेट करना या मिटाना

spreadsheets.batchUpdate वाला तरीका इस्तेमाल करें और उसी के हिसाब से UpdateDataSourceRequest या DeleteDataSourceRequest वाला अनुरोध सबमिट करें.

BigQuery डेटा सोर्स ऑब्जेक्ट मैनेज करना

स्प्रेडशीट में डेटा सोर्स जोड़ने के बाद, उससे डेटा सोर्स ऑब्जेक्ट बनाया जा सकता है. डेटा सोर्स ऑब्जेक्ट, Sheets का एक सामान्य टूल होता है. जैसे, पिवट टेबल, चार्ट, और फ़ॉर्मूला. यह आपके डेटा का विश्लेषण करने के लिए, कनेक्टेड शीट के साथ इंटिग्रेट होता है.

ऑब्जेक्ट चार तरह के होते हैं:

  • DataSource टेबल
  • DataSource pivotTable
  • DataSource चार्ट
  • DataSource फ़ॉर्मूला

BigQuery डेटा सोर्स टेबल जोड़ना

टेबल ऑब्जेक्ट को Sheets एडिटर में "एक्सट्रैक्ट" कहा जाता है. यह डेटा सोर्स से डेटा का स्टैटिक डंप, 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 डेटा फ़ेच होने के बाद, डेटा सोर्स टेबल में डेटा अपने-आप भर जाता है. जैसे:

डेटा सोर्स की टेबल, जिसमें शेक्सपियर के सार्वजनिक डेटासेट का डेटा दिख रहा है.

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 डेटा फ़ेच होने के बाद, डेटा सोर्स पिवट टेबल में डेटा अपने-आप भर जाता है, जैसा कि यहां दिखाया गया है:

डेटा सोर्स की पिवट टेबल, जिसमें शेक्सपियर के सार्वजनिक डेटासेट का डेटा दिख रहा है.

BigQuery डेटा सोर्स का चार्ट जोड़ना

यहां दिए गए कोड सैंपल में, spreadsheets.batchUpdate तरीके और AddChartRequest का इस्तेमाल करके, कॉलम के 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 डेटा फ़ेच होने के बाद, डेटा सोर्स चार्ट इस तरह रेंडर होता है:

डेटा सोर्स चार्ट, जिसमें शेक्सपियर के सार्वजनिक डेटासेट का डेटा दिखाया गया है.

BigQuery डेटा सोर्स का फ़ॉर्मूला जोड़ना

नीचे दिए गए कोड सैंपल में, औसत शब्दों की गिनती का हिसाब लगाने के लिए, डेटा सोर्स फ़ॉर्मूला बनाने के लिए spreadsheets.batchUpdate तरीके और UpdateCellsRequest का इस्तेमाल करने का तरीका बताया गया है.

"updateCells":{
   "rows":[
      {
         "values":[
            {
               "userEnteredValue":{
                  "formulaValue":"=AVERAGE(shakespeare!word_count)"
               }
            }
         ]
      }
   ],
   "fields":"userEnteredValue"
}

BigQuery डेटा फ़ेच होने के बाद, डेटा सोर्स का फ़ॉर्मूला इस तरह से पॉप्युलेट होता है:

डेटा सोर्स का फ़ॉर्मूला, जिसमें शेक्सपियर के सार्वजनिक डेटासेट का डेटा दिख रहा है.

BigQuery डेटा सोर्स ऑब्जेक्ट को रीफ़्रेश करना

मौजूदा डेटा सोर्स के स्पेसिफ़िकेशन और ऑब्जेक्ट कॉन्फ़िगरेशन के आधार पर, BigQuery से नया डेटा फ़ेच करने के लिए, डेटा सोर्स ऑब्जेक्ट को रीफ़्रेश किया जा सकता है. RefreshDataSourceRequest को कॉल करने के लिए, spreadsheets.batchUpdate वाले तरीके का इस्तेमाल किया जा सकता है. इसके बाद, DataSourceObjectReferences ऑब्जेक्ट का इस्तेमाल करके, रीफ़्रेश करने के लिए एक या एक से ज़्यादा ऑब्जेक्ट रेफ़रंस तय करें.

ध्यान दें कि एक ही batchUpdate अनुरोध में, डेटा सोर्स ऑब्जेक्ट बनाए और रीफ़्रेश किए जा सकते हैं.

Looker डेटा सोर्स मैनेज करना

इस गाइड में, Looker डेटा सोर्स जोड़ने, उसे अपडेट या मिटाने, उस पर पिवट टेबल बनाने, और उसे रीफ़्रेश करने का तरीका बताया गया है.

Looker से कनेक्ट की गई Sheets के डेटा का अनुरोध करने वाला आपका ऐप्लिकेशन, Looker के साथ आपके मौजूदा Google खाते के लिंक का फिर से इस्तेमाल करेगा.

Looker डेटा सोर्स जोड़ना

डेटा सोर्स जोड़ने के लिए, spreadsheets.batchUpdate के तरीके का इस्तेमाल करके, AddDataSourceRequest डालें. अनुरोध के मुख्य हिस्से में, dataSource फ़ील्ड का टाइप DataSource ऑब्जेक्ट होना चाहिए.

"addDataSource":{
   "dataSource":{
      "spec":{
         "looker":{
            "instance_uri":"INSTANCE_URI",
            "model":"MODEL",
            "explore":"EXPLORE"
         }
      }
   }
}

INSTANCE_URI, MODEL, और EXPLORE की जगह, क्रमशः Looker इंस्टेंस का मान्य यूआरआई, मॉडल का नाम, और एक्सप्लोर का नाम डालें.

डेटा सोर्स बनाने के बाद, उससे जुड़ी एक DATA_SOURCE शीट बनाई जाती है. इससे, चुने गए एक्सप्लोर के स्ट्रक्चर की झलक मिलती है. इसमें व्यू, डाइमेंशन, मेज़र, और किसी भी फ़ील्ड की जानकारी शामिल होती है.

AddDataSourceResponse में ये फ़ील्ड शामिल होते हैं:

  • dataSource: बनाया गया DataSource ऑब्जेक्ट. dataSourceId, स्प्रेडशीट के दायरे वाला यूनीक आईडी है. डेटा सोर्स से हर DataSource ऑब्जेक्ट बनाने के लिए, इसमें डेटा अपने-आप भर जाता है और इसका रेफ़रंस दिया जाता है.

  • dataExecutionStatus: BigQuery डेटा को झलक वाली शीट में इंपोर्ट करने वाले एक्सीक्यूशन का स्टेटस. ज़्यादा जानकारी के लिए, डेटा लागू करने की स्थिति सेक्शन देखें.

Looker डेटा सोर्स को अपडेट करना या मिटाना

spreadsheets.batchUpdate वाला तरीका इस्तेमाल करें और उसी के हिसाब से UpdateDataSourceRequest या DeleteDataSourceRequest वाला अनुरोध सबमिट करें.

Looker डेटा सोर्स ऑब्जेक्ट मैनेज करना

स्प्रेडशीट में डेटा सोर्स जोड़ने के बाद, उससे डेटा सोर्स ऑब्जेक्ट बनाया जा सकता है. Looker डेटा सोर्स के लिए, सिर्फ़ DataSource pivotTable ऑब्जेक्ट बनाया जा सकता है.

Looker डेटा सोर्स से DataSource फ़ॉर्मूले, एक्सट्रैक्ट, और चार्ट नहीं बनाए जा सकते.

Looker डेटा सोर्स ऑब्जेक्ट को रीफ़्रेश करना

मौजूदा डेटा सोर्स के स्पेसिफ़िकेशन और ऑब्जेक्ट कॉन्फ़िगरेशन के आधार पर, Looker से नया डेटा फ़ेच करने के लिए, डेटा सोर्स के ऑब्जेक्ट को रीफ़्रेश किया जा सकता है. RefreshDataSourceRequest को कॉल करने के लिए, spreadsheets.batchUpdate वाले तरीके का इस्तेमाल किया जा सकता है. इसके बाद, DataSourceObjectReferences ऑब्जेक्ट का इस्तेमाल करके, रीफ़्रेश करने के लिए एक या एक से ज़्यादा ऑब्जेक्ट रेफ़रंस तय करें.

ध्यान दें कि एक ही batchUpdate अनुरोध में, डेटा सोर्स ऑब्जेक्ट बनाए और रीफ़्रेश किए जा सकते हैं.

डेटा लागू करने की स्थिति

डेटा सोर्स बनाने या डेटा सोर्स ऑब्जेक्ट को रीफ़्रेश करने पर, BigQuery या Looker से डेटा फ़ेच करने के लिए बैकग्राउंड में एक प्रोसेस शुरू की जाती है. साथ ही, DataExecutionStatus वाला रिस्पॉन्स दिखाया जाता है. अगर प्रोसेस शुरू हो जाती है, तो आम तौर पर DataExecutionState RUNNING स्टेटस में होता है.

यह प्रोसेस असिंक्रोनस होती है. इसलिए, आपके ऐप्लिकेशन को समय-समय पर डेटा सोर्स ऑब्जेक्ट की स्थिति को वापस पाने के लिए, पोलिंग मॉडल लागू करना चाहिए. spreadsheets.get तरीके का इस्तेमाल तब तक करें, जब तक स्टेटस SUCCEEDED या FAILED न दिखे. ज़्यादातर मामलों में, एक्सपोर्ट की प्रोसेस तेज़ी से पूरी हो जाती है. हालांकि, यह आपके डेटा सोर्स की जटिलता पर निर्भर करता है. आम तौर पर, प्रोसेस पूरी होने में 10 मिनट से ज़्यादा समय नहीं लगता.