1. खास जानकारी
BigQuery, Google का पूरी तरह से मैनेज किया गया डेटा वेयरहाउस है. इसमें, कम कीमत में कई पेटाबाइट डेटा के विश्लेषण की सुविधा मिलती है. BigQuery NoOps है—इसे मैनेज करने के लिए कोई इन्फ़्रास्ट्रक्चर नहीं है और आपको डेटाबेस एडमिन की भी ज़रूरत नहीं है. इसलिए, डेटा के विश्लेषण पर फ़ोकस करके काम की इनसाइट पाएं, जाने-पहचाने एसक्यूएल का इस्तेमाल करें, और इस्तेमाल के हिसाब से पैसे चुकाने वाले मॉडल का फ़ायदा पाएं.
इस कोडलैब में, Node.js की मदद से BigQuery के सार्वजनिक डेटासेट की क्वेरी करने के लिए, Google Cloud BigQuery क्लाइंट लाइब्रेरी का इस्तेमाल किया जाएगा.
आपको इनके बारे में जानकारी मिलेगी
- Cloud Shell का इस्तेमाल कैसे करें
- BigQuery API चालू करने का तरीका
- एपीआई अनुरोधों की पुष्टि करने का तरीका
- Node.js के लिए BigQuery क्लाइंट लाइब्रेरी इंस्टॉल करने का तरीका
- शेक्सपियर के काम के बारे में क्वेरी करने का तरीका
- GitHub के डेटासेट से जुड़ी क्वेरी करने का तरीका
- कैश मेमोरी और डिसप्ले आंकड़ों में बदलाव करने का तरीका
आपको इन चीज़ों की ज़रूरत होगी
सर्वे
इस ट्यूटोरियल का इस्तेमाल कैसे किया जाएगा?
आप Node.js के साथ अपने अनुभव को क्या रेटिंग देंगे/देंगी?
Google Cloud Platform की सेवाएं इस्तेमाल करने का आपका अनुभव कैसा रहा?
2. सेटअप और ज़रूरी शर्तें
अपने हिसाब से एनवायरमेंट सेटअप करना
- Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. (अगर आपके पास पहले से Gmail या G Suite खाता नहीं है, तो आपको एक खाता बनाना होगा.)
प्रोजेक्ट आईडी याद रखें. यह Google Cloud के सभी प्रोजेक्ट के लिए एक खास नाम होता है (ऊपर दिया गया नाम पहले ही ले लिया गया है और यह आपके लिए काम नहीं करेगा!). बाद में, इस कोडलैब को इस कोडलैब में PROJECT_ID
के तौर पर दिखाया जाएगा.
- इसके बाद, आपको Google Cloud के संसाधनों का इस्तेमाल करने के लिए, Cloud Console में बिलिंग की सुविधा चालू करनी होगी.
इस कोडलैब का इस्तेमाल करने पर, आपको ज़्यादा पैसे नहीं चुकाने होंगे. "साफ़ करना" सेक्शन में दिए गए निर्देशों का पालन करना न भूलें सेक्शन में, संसाधनों को बंद करने का तरीका बताया गया है. इससे इस ट्यूटोरियल के अलावा बिलिंग की सुविधा नहीं मिलेगी. Google Cloud के नए उपयोगकर्ता, 300USD डॉलर के मुफ़्त में आज़माने वाले प्रोग्राम में हिस्सा ले सकते हैं.
Cloud Shell शुरू करना
क्लाउड SDK टूल कमांड-लाइन टूल को लैपटॉप से कहीं से भी ऑपरेट किया जा सकता है. हालांकि, इस कोडलैब में आपको Google Cloud Shell का इस्तेमाल करना होगा. यह कमांड लाइन एनवायरमेंट है, जो क्लाउड पर काम करता है.
Cloud Shell चालू करें
- Cloud Console में, Cloud Shell चालू करें पर क्लिक करें.
अगर आपने Cloud Shell का इस्तेमाल पहले कभी नहीं किया है, तो आपको इसके बारे में जानकारी देने वाली एक इंटरमीडिएट स्क्रीन (पेज के फ़ोल्ड के नीचे) दिखेगी. अगर ऐसा है, तो जारी रखें पर क्लिक करें (यह आपको फिर कभी नहीं दिखेगा). एक बार इस्तेमाल होने वाली स्क्रीन कुछ इस तरह दिखती है:
प्रावधान करने और Cloud Shell से कनेक्ट होने में कुछ ही समय लगेगा.
इस वर्चुअल मशीन में ऐसे सभी डेवलपमेंट टूल मौजूद हैं जिनकी आपको ज़रूरत है. यह पांच जीबी की स्थायी होम डायरेक्ट्री उपलब्ध कराता है और Google Cloud में चलता है. यह नेटवर्क की परफ़ॉर्मेंस और पुष्टि करने की प्रोसेस को बेहतर बनाता है. अगर सभी नहीं, तो इस कोडलैब में आपका बहुत सारा काम बस किसी ब्राउज़र या आपके Chromebook से किया जा सकता है.
Cloud Shell से कनेक्ट करने के बाद, आपको दिखेगा कि आपकी पुष्टि पहले ही हो चुकी है. साथ ही, यह प्रोजेक्ट पहले से ही आपके प्रोजेक्ट आईडी पर सेट है.
- यह पुष्टि करने के लिए Cloud Shell में नीचे दिया गया कमांड चलाएं कि आपकी पुष्टि हो गई है:
gcloud auth list
कमांड आउटपुट
Credentialed Accounts ACTIVE ACCOUNT * <my_account>@<my_domain.com> To set the active account, run: $ gcloud config set account `ACCOUNT`
gcloud config list project
कमांड आउटपुट
[core] project = <PROJECT_ID>
अगर ऐसा नहीं है, तो आप इसे इस निर्देश की मदद से सेट कर सकते हैं:
gcloud config set project <PROJECT_ID>
कमांड आउटपुट
Updated property [core/project].
3. BigQuery API चालू करना
Google Cloud के सभी प्रोजेक्ट में BigQuery API, डिफ़ॉल्ट रूप से चालू होना चाहिए. Cloud Shell में नीचे दिए गए निर्देश की मदद से, यह देखा जा सकता है कि यह बात सही है या नहीं:
gcloud services list
आपको सूची में BigQuery दिखेगा:
NAME TITLE
bigquery-json.googleapis.com BigQuery API
...
अगर BigQuery API चालू नहीं है, तो इसे चालू करने के लिए Cloud Shell में इस कमांड का इस्तेमाल किया जा सकता है:
gcloud services enable bigquery-json.googleapis.com
4. एपीआई अनुरोधों की पुष्टि करें
BigQuery API को अनुरोध करने के लिए, आपको सेवा खाते का इस्तेमाल करना होगा. सेवा खाता आपके प्रोजेक्ट से जुड़ा होता है. Google BigQuery Node.js क्लाइंट लाइब्रेरी, इसका इस्तेमाल BigQuery API अनुरोध करने के लिए करती है. किसी भी दूसरे उपयोगकर्ता खाते की तरह, सेवा खाते को ईमेल पते के तौर पर दिखाया जाता है. इस सेक्शन में, आपको सेवा खाता बनाने के लिए Cloud SDK टूल का इस्तेमाल करना होगा. इसके बाद, ऐसे क्रेडेंशियल बनाने होंगे जिनकी पुष्टि, सेवा खाते के तौर पर करनी होगी.
सबसे पहले, अपने PROJECT_ID के साथ एक एनवायरमेंट वैरिएबल सेट करें, जिसका इस्तेमाल आपको इस कोडलैब के दौरान करना है:
export GOOGLE_CLOUD_PROJECT=$(gcloud config get-value core/project)
इसके बाद, BigQuery API को ऐक्सेस करने के लिए, नया सेवा खाता बनाएं. इसके लिए, इनका इस्तेमाल करें:
gcloud iam service-accounts create my-bigquery-sa --display-name "my bigquery codelab service account"
इसके बाद, वे क्रेडेंशियल बनाएं जिनका इस्तेमाल आपका Node.js कोड आपके नए सेवा खाते के तौर पर लॉगिन करने के लिए करेगा. ये क्रेडेंशियल बनाएं और इन्हें JSON फ़ाइल "~/key.json" के तौर पर सेव करें इसके लिए, इनमें से कोई विकल्प चुना जा सकता है:
gcloud iam service-accounts keys create ~/key.json --iam-account my-bigquery-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com
आखिर में, GOOGLE_APPLICATION_CREDENTIALS एनवायरमेंट वैरिएबल सेट करें, जिसका इस्तेमाल BigQuery API C# लाइब्रेरी में किया जाता है. इसके बारे में अगले चरण में बताया गया है. इससे आपके क्रेडेंशियल देखे जा सकते हैं. एनवायरमेंट वैरिएबल को, आपकी बनाई गई क्रेडेंशियल JSON फ़ाइल के पूरे पाथ पर सेट करना चाहिए. इन कमांड का इस्तेमाल करके, एनवायरमेंट वैरिएबल सेट करें:
export GOOGLE_APPLICATION_CREDENTIALS="/home/${USER}/key.json"
BigQuery API की पुष्टि करने के बारे में ज़्यादा जानें.
5. ऐक्सेस कंट्रोल सेटअप करें
BigQuery, संसाधनों का ऐक्सेस मैनेज करने के लिए पहचान और ऐक्सेस मैनेजमेंट (आईएएम) का इस्तेमाल करता है. BigQuery में पहले से तय कई भूमिकाएं होती हैं. जैसे, उपयोगकर्ता, dataमालिक, dataViewer वगैरह. ये भूमिकाएं, पिछले चरण में बनाए गए अपने सेवा खाते को असाइन की जा सकती हैं. BigQuery दस्तावेज़ में, ऐक्सेस कंट्रोल के बारे में ज़्यादा जानकारी हासिल की जा सकती है.
सार्वजनिक डेटासेट के लिए क्वेरी करने से पहले, आपको यह पक्का करना होगा कि सेवा खाते में कम से कम bigquery.user की भूमिका हो. Cloud Shell में, सेवा खाते को bigquery.user की भूमिका असाइन करने के लिए यह कमांड चलाएं:
gcloud projects add-iam-policy-binding ${GOOGLE_CLOUD_PROJECT} --member "serviceAccount:my-bigquery-sa@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com" --role "roles/bigquery.user"
इस कमांड को चलाकर, यह पुष्टि की जा सकती है कि सेवा खाते को उपयोगकर्ता की भूमिका असाइन की गई है:
gcloud projects get-iam-policy $GOOGLE_CLOUD_PROJECT
6. Node.js के लिए BigQuery क्लाइंट लाइब्रेरी इंस्टॉल करना
सबसे पहले, BigQueryDemo
फ़ोल्डर बनाएं और उस पर जाएं:
mkdir BigQueryDemo
cd BigQueryDemo
इसके बाद, एक Node.js प्रोजेक्ट बनाएं, जिसका इस्तेमाल आपको BigQuery क्लाइंट लाइब्रेरी के सैंपल चलाने के लिए करना है:
npm init -y
आपको बनाया गया Node.js प्रोजेक्ट दिखेगा:
{
"name": "BigQueryDemo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
BigQuery क्लाइंट लाइब्रेरी इंस्टॉल करें:
npm install --save @google-cloud/bigquery
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN BigQueryDemo@1.0.0 No description
npm WARN BigQueryDemo@1.0.0 No repository field.
+ @google-cloud/bigquery@2.1.0
added 69 packages from 105 contributors and audited 147 packages in 4.679s
found 0 vulnerabilities
अब आप BigQuery Node.js क्लाइंट लाइब्रेरी का इस्तेमाल करने के लिए तैयार हैं!
7. शेक्सपियर के काम के बारे में क्वेरी करें
सार्वजनिक डेटासेट, ऐसा डेटासेट होता है जिसे BigQuery में सेव करके आम लोगों के लिए उपलब्ध कराया जाता है. आपके लिए क्वेरी करने के लिए कई अन्य सार्वजनिक डेटासेट उपलब्ध हैं, जिनमें से कुछ को Google भी होस्ट करता है. हालांकि, कई और डेटासेट तीसरे पक्षों के ज़रिए होस्ट किए जाते हैं. सार्वजनिक डेटासेट के पेज पर ज़्यादा जानकारी पाएं.
सार्वजनिक डेटासेट के अलावा, BigQuery सीमित संख्या में सैंपल टेबल उपलब्ध कराता है, जिनके लिए क्वेरी की जा सकती है. ये टेबल bigquery-public-data:samples dataset
में मौजूद हैं. इनमें से एक टेबल का नाम shakespeare.
है. इसमें शेक्सपियर के काम का वर्ड इंडेक्स मौजूद है. इससे पता चलता है कि हर कॉर्पस (संग्रह) में कोई शब्द कितनी बार दिखता है.
इस चरण में आपको शेक्सपियर टेबल पर क्वेरी करनी होगी.
सबसे पहले, क्लाउड शेल के सबसे ऊपर दाईं ओर से कोड एडिटर खोलें:
BigQueryDemo
फ़ोल्डर के अंदर एक queryShakespeare.js
फ़ाइल बनाएं :
touch queryShakespeare.js
queryShakespeare.js
फ़ाइल पर जाएं और यह कोड डालें:
'use strict';
function main() {
// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
async function queryShakespeare() {
// Queries a public Shakespeare dataset.
// Create a client
const bigqueryClient = new BigQuery();
// The SQL query to run
const sqlQuery = `SELECT word, word_count
FROM \`bigquery-public-data.samples.shakespeare\`
WHERE corpus = @corpus
AND word_count >= @min_word_count
ORDER BY word_count DESC`;
const options = {
query: sqlQuery,
// Location must match that of the dataset(s) referenced in the query.
location: 'US',
params: {corpus: 'romeoandjuliet', min_word_count: 250},
};
// Run the query
const [rows] = await bigqueryClient.query(options);
console.log('Rows:');
rows.forEach(row => console.log(row));
}
queryShakespeare();
}
main();
कुछ समय निकालकर कोड को पढ़ें और देखें कि टेबल से क्वेरी कैसे की गई.
Cloud Shell पर वापस जाकर, इस ऐप्लिकेशन को चलाएं:
node queryShakespeare.js
आपको शब्दों और उनकी घटनाओं की सूची दिखेगी:
Rows:
{ word: 'the', word_count: 614 }
{ word: 'I', word_count: 577 }
{ word: 'and', word_count: 490 }
{ word: 'to', word_count: 486 }
{ word: 'a', word_count: 407 }
{ word: 'of', word_count: 367 }
{ word: 'my', word_count: 314 }
{ word: 'is', word_count: 307 }
...
8. GitHub डेटासेट की क्वेरी करें
BigQuery के बारे में ज़्यादा जानने के लिए, अब आपको GitHub के सार्वजनिक डेटासेट के लिए एक क्वेरी जारी करनी होगी. आपको GitHub पर सबसे ज़्यादा इस्तेमाल होने वाले मैसेज मिलेंगे. ऐड-हॉक क्वेरी की झलक देखने और उन्हें चलाने के लिए, BigQuery के वेब यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल किया जा सकता है.
डेटा देखने के लिए, BigQuery वेब यूज़र इंटरफ़ेस (यूआई) में GitHub डेटासेट खोलें:
डेटा कैसा दिखता है, इसकी तुरंत झलक देखने के लिए, 'झलक देखें' टैब पर क्लिक करें:
BigQueryDemo
फ़ोल्डर में queryGitHub.js
फ़ाइल बनाएं:
touch queryGitHub.js
queryGitHub.js
फ़ाइल पर जाएं और यह कोड डालें:
'use strict';
function main() {
// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
async function queryGitHub() {
// Queries a public GitHub dataset.
// Create a client
const bigqueryClient = new BigQuery();
// The SQL query to run
const sqlQuery = `SELECT subject AS subject, COUNT(*) AS num_duplicates
FROM \`bigquery-public-data.github_repos.commits\`
GROUP BY subject
ORDER BY num_duplicates
DESC LIMIT 10`;
const options = {
query: sqlQuery,
// Location must match that of the dataset(s) referenced in the query.
location: 'US',
};
// Run the query
const [rows] = await bigqueryClient.query(options);
console.log('Rows:');
rows.forEach(row => console.log(`${row.subject}: ${row.num_duplicates}`));
}
queryGitHub();
}
main();
कुछ समय निकालकर कोड को अच्छी तरह से समझ लें और देखें कि आम तौर पर सबसे ज़्यादा बताए गए मैसेज के लिए टेबल से किस तरह क्वेरी की गई है.
Cloud Shell पर वापस जाकर, इस ऐप्लिकेशन को चलाएं:
node queryGitHub.js
आपको तय किए गए मैसेज और उनके इस्तेमाल की सूची दिखेगी:
Rows:
Update README.md: 2572220
: 1985733
Initial commit: 1940228
Mirroring from Micro.blog.: 646772
update: 592520
Update data.json: 548730
Update data.js: 548354
...
9. कैश मेमोरी में सेव करना और आंकड़े
जब कोई क्वेरी चलाई जाती है, तो BigQuery नतीजों को कैश मेमोरी में सेव करता है. इस वजह से, एक जैसी क्वेरी करने में बहुत कम समय लगता है. क्वेरी के विकल्पों का इस्तेमाल करके कैश मेमोरी में सेव होने की सुविधा बंद की जा सकती है. BigQuery, क्वेरी बनाने का समय, खत्म होने का समय, और प्रोसेस की गई कुल बाइट जैसी क्वेरी से जुड़े कुछ आंकड़ों का भी ट्रैक रखता है.
इस चरण में, कैश मेमोरी में डेटा सेव करने की सुविधा बंद की जाती है और क्वेरी के बारे में कुछ आंकड़े दिखाए जाते हैं.
BigQueryDemo
फ़ोल्डर में मौजूद queryShakespeare.js
फ़ाइल पर जाएं और कोड को इनसे बदलें:
'use strict';
function main() {
// Import the Google Cloud client library
const {BigQuery} = require('@google-cloud/bigquery');
async function queryShakespeareDisableCache() {
// Queries the Shakespeare dataset with the cache disabled.
// Create a client
const bigqueryClient = new BigQuery();
const sqlQuery = `SELECT word, word_count
FROM \`bigquery-public-data.samples.shakespeare\`
WHERE corpus = @corpus
AND word_count >= @min_word_count
ORDER BY word_count DESC`;
const options = {
query: sqlQuery,
// Location must match that of the dataset(s) referenced in the query.
location: 'US',
params: {corpus: 'romeoandjuliet', min_word_count: 250},
useQueryCache: false,
};
// Run the query as a job
const [job] = await bigqueryClient.createQueryJob(options);
console.log(`Job ${job.id} started.`);
// Wait for the query to finish
const [rows] = await job.getQueryResults();
// Print the results
console.log('Rows:');
rows.forEach(row => console.log(row));
// Print job statistics
console.log('JOB STATISTICS:')
console.log(`Status: ${job.metadata.status.state}`);
console.log(`Creation time: ${job.metadata.statistics.creationTime}`);
console.log(`Start time: ${job.metadata.statistics.startTime}`);
console.log(`Statement type: ${job.metadata.statistics.query.statementType}`);
}
queryShakespeareDisableCache();
}
main();
कोड के बारे में ध्यान देने वाली कुछ बातें. सबसे पहले, options
ऑब्जेक्ट में UseQueryCache
को false
पर सेट करके, कैश मेमोरी में डेटा सेव करने की सुविधा बंद कर दी जाती है. इसके बाद, आपने जॉब ऑब्जेक्ट से क्वेरी के आंकड़े को ऐक्सेस किया.
Cloud Shell पर वापस जाकर, इस ऐप्लिकेशन को चलाएं:
node queryShakespeare.js
आपको तय किए गए मैसेज और उनके इस्तेमाल की सूची दिखेगी. इसके अलावा, आपको क्वेरी के बारे में कुछ आंकड़े भी दिखेंगे:
Rows:
{ word: 'the', word_count: 614 }
{ word: 'I', word_count: 577 }
{ word: 'and', word_count: 490 }
{ word: 'to', word_count: 486 }
{ word: 'a', word_count: 407 }
{ word: 'of', word_count: 367 }
{ word: 'my', word_count: 314 }
{ word: 'is', word_count: 307 }
{ word: 'in', word_count: 291 }
{ word: 'you', word_count: 271 }
{ word: 'that', word_count: 270 }
{ word: 'me', word_count: 263 }
JOB STATISTICS:
Status: RUNNING
Creation time: 1554309220660
Start time: 1554309220793
Statement type: SELECT
10. BigQuery में डेटा लोड हो रहा है
अपने डेटा के लिए क्वेरी करने के लिए, पहले आपको अपने डेटा को BigQuery में लोड करना होगा. BigQuery कई सोर्स से डेटा लोड करने की सुविधा देता है. जैसे, Google Cloud Storage, Google की अन्य सेवाएं या किसी स्थानीय और आसानी से पढ़े जा सकने वाले सोर्स से डेटा लोड करना. यहां तक कि आप अपना डेटा स्ट्रीम भी कर सकते हैं. BigQuery में डेटा लोड करना पेज के बारे में ज़्यादा जानकारी मिल सकती है.
इस चरण में, Google Cloud Storage में सेव की गई JSON फ़ाइल को, BigQuery टेबल में लोड किया जाएगा. JSON फ़ाइल यहां मौजूद है: gs://cloud-samples-data/bigquery/us-states/us-states.json
अगर आपको JSON फ़ाइल के कॉन्टेंट के बारे में जानना है, तो gsutil
कमांड-लाइन टूल का इस्तेमाल करके, उसे Cloud Shell में डाउनलोड किया जा सकता है:
gsutil cp gs://cloud-samples-data/bigquery/us-states/us-states.json .
Copying gs://cloud-samples-data/bigquery/us-states/us-states.json...
/ [1 files][ 2.0 KiB/ 2.0 KiB]
Operation completed over 1 objects/2.0 KiB.
यहां अमेरिका के राज्यों की सूची दी गई है. साथ ही, हर राज्य एक अलग लाइन पर एक JSON ऑब्जेक्ट है:
less us-states.json
{"name": "Alabama", "post_abbr": "AL"}
{"name": "Alaska", "post_abbr": "AK"}
...
इस JSON फ़ाइल को BigQuery में लोड करने के लिए, BigQueryDemo
फ़ोल्डर में createDataset.js
फ़ाइल और loadBigQueryJSON.js
फ़ाइल बनाएं:
touch createDataset.js
touch loadBigQueryJSON.js
Google Cloud Storage Node.js क्लाइंट लाइब्रेरी इंस्टॉल करें:
npm install --save @google-cloud/storage
createDataset.js
फ़ाइल पर जाएं और यह कोड डालें:
'use strict';
function main() {
// Import the Google Cloud client libraries
const {BigQuery} = require('@google-cloud/bigquery');
async function createDataset() {
const datasetId = "my_states_dataset3";
const bigqueryClient = new BigQuery();
// Specify the geographic location where the dataset should reside
const options = {
location: 'US',
};
// Create a new dataset
const [dataset] = await bigqueryClient.createDataset(datasetId, options);
console.log(`Dataset ${dataset.id} created.`);
}
createDataset();
}
main();
इसके बाद, loadBigQueryJSON.js
फ़ाइल पर जाएं और यह कोड डालें:
'use strict';
function main() {
// Import the Google Cloud client libraries
const {BigQuery} = require('@google-cloud/bigquery');
const {Storage} = require('@google-cloud/storage');
const datasetId = "my_states_dataset3";
const tableId = "my_states_table";
async function createTable(datasetId, tableId) {
// Creates a new table
// Create a client
const bigqueryClient = new BigQuery();
const options = {
location: 'US',
};
// Create a new table in the dataset
const [table] = await bigqueryClient
.dataset(datasetId)
.createTable(tableId, options);
console.log(`Table ${table.id} created.`);
}
async function loadJSONFromGCS(datasetId, tableId) {
// Import a GCS file into a table with manually defined schema.
// Instantiate clients
const bigqueryClient = new BigQuery();
const storageClient = new Storage();
const bucketName = 'cloud-samples-data';
const filename = 'bigquery/us-states/us-states.json';
// Configure the load job.
const metadata = {
sourceFormat: 'NEWLINE_DELIMITED_JSON',
schema: {
fields: [
{name: 'name', type: 'STRING'},
{name: 'post_abbr', type: 'STRING'},
],
},
location: 'US',
};
// Load data from a Google Cloud Storage file into the table
const [job] = await bigqueryClient
.dataset(datasetId)
.table(tableId)
.load(storageClient.bucket(bucketName).file(filename), metadata);
// load() waits for the job to finish
console.log(`Job ${job.id} completed.`);
// Check the job's status for errors
const errors = job.status.errors;
if (errors && errors.length > 0) {
throw errors;
}
}
// createDataset(datasetId);
createTable(datasetId, tableId);
loadJSONFromGCS(datasetId, tableId);
}
main();
कुछ समय निकालकर यह देखें कि कोड, JSON फ़ाइल को कैसे लोड करता है और डेटासेट में टेबल (स्कीमा के साथ) कैसे बनाता है.
Cloud Shell पर वापस जाकर, इस ऐप्लिकेशन को चलाएं:
node createDataset.js
node loadBigQueryJSON.js
BigQuery में डेटासेट और टेबल बनाई जाती हैं:
Table my_states_table created.
Job [JOB ID] completed.
डेटासेट बनाए जाने की पुष्टि करने के लिए, BigQuery वेब यूज़र इंटरफ़ेस (यूआई) पर जाएं. आपको एक नया डेटासेट और एक टेबल दिखेगी. टेबल के झलक टैब पर जाने पर, आपको असल डेटा दिखेगा:
11. बधाई हो!
आपने Node.js की मदद से BigQuery को इस्तेमाल करने का तरीका सीखा है!
व्यवस्थित करें
इस क्विकस्टार्ट में इस्तेमाल किए गए संसाधनों के लिए, आपके Google Cloud Platform खाते पर लगने वाले शुल्क से बचने के लिए:
- Cloud Platform कंसोल पर जाएं.
- वह प्रोजेक्ट चुनें जिसे शट डाउन करना है. इसके बाद, ‘मिटाएं' पर क्लिक करें सबसे ऊपर: यह प्रोजेक्ट को मिटाने के लिए शेड्यूल करता है.
ज़्यादा जानें
- Google BigQuery: https://cloud.google.com/bigquery/docs/
- Google Cloud Platform पर Node.js: https://cloud.google.com/nodejs/
- Google BigQuery Node.js क्लाइंट लाइब्रेरी: https://github.com/googleapis/nodejs-bigquery
लाइसेंस
इस काम को क्रिएटिव कॉमंस एट्रिब्यूशन 2.0 जेनरिक लाइसेंस के तहत लाइसेंस मिला है.