পাইথনের সাথে BigQuery ব্যবহার করা

1. ওভারভিউ

BigQuery হল Google-এর সম্পূর্ণরূপে পরিচালিত, পেটাবাইট স্কেল, কম খরচে অ্যানালিটিক্স ডেটা গুদাম৷ BigQuery হল NoOps—ব্যবস্থাপনার জন্য কোনো পরিকাঠামো নেই এবং আপনার কোনো ডেটাবেস প্রশাসকের প্রয়োজন নেই—তাই আপনি অর্থপূর্ণ অন্তর্দৃষ্টি খুঁজতে, পরিচিত SQL ব্যবহার করতে এবং আমাদের পে-যেমন-আপ-গো মডেলের সুবিধা নিতে ডেটা বিশ্লেষণে ফোকাস করতে পারেন।

এই কোডল্যাবে, আপনি পাইথনের জন্য Google ক্লাউড ক্লায়েন্ট লাইব্রেরিগুলিকে Python-এর সাথে BigQuery পাবলিক ডেটাসেটগুলি জিজ্ঞাসা করতে ব্যবহার করবেন৷

আপনি কি শিখবেন

  • ক্লাউড শেল কিভাবে ব্যবহার করবেন
  • BigQuery API কীভাবে সক্ষম করবেন
  • API অনুরোধগুলিকে কীভাবে প্রমাণীকরণ করা যায়
  • পাইথন ক্লায়েন্ট লাইব্রেরি কিভাবে ইনস্টল করবেন
  • শেক্সপিয়ারের কাজগুলি কীভাবে জিজ্ঞাসা করবেন
  • কিভাবে GitHub ডেটাসেট জিজ্ঞাসা করতে হয়
  • কিভাবে ক্যাশিং সামঞ্জস্য এবং পরিসংখ্যান প্রদর্শন

আপনি কি প্রয়োজন হবে

  • একটি Google ক্লাউড প্রকল্প
  • একটি ব্রাউজার, যেমন ক্রোম বা ফায়ারফক্স
  • পাইথন ব্যবহার করে পরিচিতি

সমীক্ষা

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

পাইথনের সাথে আপনার অভিজ্ঞতাকে আপনি কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

আপনি Google ক্লাউড পরিষেবাগুলি ব্যবহার করার সাথে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

2. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না এবং আপনি যে কোনো সময় এটি আপডেট করতে পারেন।
  • সমস্ত Google ক্লাউড প্রজেক্ট জুড়ে প্রোজেক্ট আইডি অবশ্যই অনন্য হতে হবে এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে প্রজেক্ট আইডি উল্লেখ করতে হবে (এবং এটি সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়), তাই আপনি যদি এটি পছন্দ না করেন তবে অন্য একটি এলোমেলো তৈরি করুন, অথবা, আপনি নিজের চেষ্টা করে দেখতে পারেন এটি উপলব্ধ কিনা। তারপর প্রকল্প তৈরি হওয়ার পরে এটি "হিমায়িত" হয়।
  • একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
  1. এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। রিসোর্স বন্ধ করতে যাতে আপনি এই টিউটোরিয়ালের বাইরে বিলিং করতে না পারেন, কোডল্যাবের শেষে পাওয়া যেকোনো "ক্লিন-আপ" নির্দেশাবলী অনুসরণ করুন। Google ক্লাউডের নতুন ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷

ক্লাউড শেল শুরু করুন

যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।

ক্লাউড শেল সক্রিয় করুন

  1. ক্লাউড কনসোল থেকে, ক্লাউড শেল সক্রিয় করুন ক্লিক করুন 853e55310c205094.png .

55efc1aaa7a4d3ad.png

আপনি যদি আগে কখনও ক্লাউড শেল চালু না করে থাকেন, তাহলে আপনাকে একটি মধ্যবর্তী স্ক্রীন (ভাঁজের নীচে) উপস্থাপন করা হবে যা বর্ণনা করে। যদি এটি হয়, তবে চালিয়ে যান ক্লিক করুন (এবং আপনি এটি আর কখনও দেখতে পাবেন না)। এককালীন স্ক্রীনটি দেখতে কেমন তা এখানে রয়েছে:

9c92662c6a846a5c.png

ক্লাউড শেলের সাথে সংযোগ করতে এবং সংযোগ করতে এটির মাত্র কয়েক মুহূর্ত লাগবে৷

9f0e51b578fecce5.png

এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার অনেক কাজ, যদি সব না হয়, শুধুমাত্র একটি ব্রাউজার বা আপনার Chromebook দিয়ে করা যেতে পারে।

একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি ইতিমধ্যেই প্রমাণীকরণ করেছেন এবং প্রকল্পটি ইতিমধ্যে আপনার প্রকল্প আইডিতে সেট করা আছে।

  1. আপনি প্রমাণীকৃত কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth list

কমান্ড আউটপুট

 Credentialed Accounts
ACTIVE  ACCOUNT
*       <my_account>@<my_domain.com>

To set the active account, run:
    $ gcloud config set account `ACCOUNT`
  1. gcloud কমান্ড আপনার প্রকল্প সম্পর্কে জানে তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud config list project

কমান্ড আউটপুট

[core]
project = <PROJECT_ID>

যদি এটি না হয়, আপনি এই কমান্ড দিয়ে এটি সেট করতে পারেন:

gcloud config set project <PROJECT_ID>

কমান্ড আউটপুট

Updated property [core/project].

3. API সক্রিয় করুন

BigQuery API সমস্ত Google ক্লাউড প্রকল্পে ডিফল্টরূপে সক্রিয় করা উচিত। আপনি ক্লাউড শেলের নিম্নলিখিত কমান্ডের মাধ্যমে এটি সত্য কিনা তা পরীক্ষা করতে পারেন: আপনাকে BigQuery তালিকাভুক্ত করা উচিত:

gcloud services list

আপনি BigQuery তালিকাভুক্ত দেখতে পাবেন:

NAME                              TITLE
bigquery.googleapis.com           BigQuery API

...

BigQuery API সক্ষম না থাকলে, আপনি এটি সক্ষম করতে ক্লাউড শেল-এ নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

gcloud services enable bigquery.googleapis.com

4. API অনুরোধগুলি প্রমাণীকরণ করুন৷

BigQuery API-তে অনুরোধ করার জন্য, আপনাকে একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করতে হবে। একটি পরিষেবা অ্যাকাউন্ট আপনার প্রকল্পের অন্তর্গত এবং এটি Google ক্লাউড পাইথন ক্লায়েন্ট লাইব্রেরি দ্বারা BigQuery API অনুরোধ করার জন্য ব্যবহার করা হয়। অন্য যেকোনো ব্যবহারকারীর অ্যাকাউন্টের মতো, একটি পরিষেবা অ্যাকাউন্ট একটি ইমেল ঠিকানা দ্বারা প্রতিনিধিত্ব করা হয়। এই বিভাগে, আপনি একটি পরিষেবা অ্যাকাউন্ট তৈরি করতে ক্লাউড SDK ব্যবহার করবেন এবং তারপরে পরিষেবা অ্যাকাউন্ট হিসাবে প্রমাণীকরণ করার জন্য শংসাপত্রগুলি তৈরি করবেন৷

প্রথমে, একটি PROJECT_ID পরিবেশ পরিবর্তনশীল সেট করুন:

export PROJECT_ID=$(gcloud config get-value core/project)

এর পরে, ব্যবহার করে BigQuery API অ্যাক্সেস করতে একটি নতুন পরিষেবা অ্যাকাউন্ট তৈরি করুন:

gcloud iam service-accounts create my-bigquery-sa \
  --display-name "my bigquery service account"

এরপরে, শংসাপত্র তৈরি করুন যা আপনার পাইথন কোডটি আপনার নতুন পরিষেবা অ্যাকাউন্ট হিসাবে লগইন করতে ব্যবহার করবে। এই শংসাপত্রগুলি তৈরি করুন এবং নিম্নলিখিত কমান্ডটি ব্যবহার করে একটি JSON ফাইল ~/key.json হিসাবে সংরক্ষণ করুন:

gcloud iam service-accounts keys create ~/key.json \
  --iam-account my-bigquery-sa@${PROJECT_ID}.iam.gserviceaccount.com

অবশেষে, GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবল সেট করুন, যেটি BigQuery পাইথন ক্লায়েন্ট লাইব্রেরি দ্বারা ব্যবহৃত হয়, পরবর্তী ধাপে আপনার শংসাপত্রগুলি খুঁজে পেতে। এনভায়রনমেন্ট ভেরিয়েবলটি ব্যবহার করে আপনার তৈরি করা শংসাপত্র JSON ফাইলের সম্পূর্ণ পাথে সেট করা উচিত:

export GOOGLE_APPLICATION_CREDENTIALS=~/key.json

আপনি BigQuery API প্রমাণীকরণ সম্পর্কে আরও পড়তে পারেন।

5. অ্যাক্সেস নিয়ন্ত্রণ সেট আপ করুন

BigQuery সম্পদের অ্যাক্সেস পরিচালনা করতে আইডেন্টিটি অ্যান্ড অ্যাক্সেস ম্যানেজমেন্ট (IAM) ব্যবহার করে। BigQuery-এর অনেকগুলি পূর্বনির্ধারিত ভূমিকা রয়েছে (ব্যবহারকারী, ডেটা মালিক, ডেটাভিউয়ার ইত্যাদি) যা আপনি পূর্ববর্তী ধাপে তৈরি করা আপনার পরিষেবা অ্যাকাউন্টে বরাদ্দ করতে পারেন। আপনি BigQuery ডক্সে অ্যাক্সেস কন্ট্রোল সম্পর্কে আরও পড়তে পারেন।

আপনি সর্বজনীন ডেটাসেটগুলি অনুসন্ধান করার আগে, আপনাকে নিশ্চিত করতে হবে যে পরিষেবা অ্যাকাউন্টে অন্তত roles/bigquery.user ভূমিকা রয়েছে৷ ক্লাউড শেলে, পরিষেবা অ্যাকাউন্টে ব্যবহারকারীর ভূমিকা বরাদ্দ করতে নিম্নলিখিত কমান্ডটি চালান:

gcloud projects add-iam-policy-binding ${PROJECT_ID} \
  --member "serviceAccount:my-bigquery-sa@${PROJECT_ID}.iam.gserviceaccount.com" \
  --role "roles/bigquery.user"

পরিষেবা অ্যাকাউন্টে ব্যবহারকারীর ভূমিকা রয়েছে তা যাচাই করতে আপনি নিম্নলিখিত কমান্ডটি চালাতে পারেন:

gcloud projects get-iam-policy $PROJECT_ID

আপনি নিম্নলিখিত দেখতে হবে:

bindings:
- members:
  - serviceAccount:my-bigquery-sa@<PROJECT_ID>.iam.gserviceaccount.com
  role: roles/bigquery.user
...

6. ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন

BigQuery পাইথন ক্লায়েন্ট লাইব্রেরি ইনস্টল করুন:

pip3 install --user --upgrade google-cloud-bigquery

আপনি এখন BigQuery API দিয়ে কোড করার জন্য প্রস্তুত!

7. শেক্সপিয়ারের কাজগুলি অনুসন্ধান করুন

একটি সর্বজনীন ডেটাসেট হল যে কোনো ডেটাসেট যা BigQuery-এ সঞ্চিত এবং সাধারণ মানুষের জন্য উপলব্ধ করা হয়৷ আপনার জিজ্ঞাসা করার জন্য আরও অনেক পাবলিক ডেটাসেট উপলব্ধ রয়েছে৷ যদিও কিছু ডেটাসেট Google দ্বারা হোস্ট করা হয়, বেশিরভাগই তৃতীয় পক্ষের দ্বারা হোস্ট করা হয়৷ আরও তথ্যের জন্য পাবলিক ডেটাসেট পৃষ্ঠা দেখুন।

সর্বজনীন ডেটাসেট ছাড়াও, BigQuery সীমিত সংখ্যক নমুনা টেবিল সরবরাহ করে যা আপনি জিজ্ঞাসা করতে পারেন। এই টেবিলগুলি bigquery-public-data:samples dataset-এ রয়েছে৷ samples ডেটাসেটে shakespeare টেবিলে শেক্সপিয়ারের কাজের একটি শব্দ সূচক রয়েছে। এটি প্রতিটি শব্দ প্রতিটি কর্পাসে উপস্থিত হওয়ার সংখ্যা দেয়।

এই ধাপে, আপনি shakespeare টেবিলটি জিজ্ঞাসা করবেন।

প্রথমে, ক্লাউড শেল-এ একটি সাধারণ পাইথন অ্যাপ্লিকেশন তৈরি করুন যা আপনি অনুবাদ API নমুনাগুলি চালানোর জন্য ব্যবহার করবেন।

mkdir bigquery-demo
cd bigquery-demo
touch app.py

ক্লাউড শেলের উপরের ডান দিক থেকে কোড এডিটর খুলুন:

b648141af44811a3.png

bigquery-demo ফোল্ডারের ভিতরে app.py ফাইলে নেভিগেট করুন এবং নিম্নলিখিত কোডটি প্রতিস্থাপন করুন।

from google.cloud import bigquery

client = bigquery.Client()

query = """
    SELECT corpus AS title, COUNT(word) AS unique_words
    FROM `bigquery-public-data.samples.shakespeare`
    GROUP BY title
    ORDER BY unique_words
    DESC LIMIT 10
"""
results = client.query(query)

for row in results:
    title = row['title']
    unique_words = row['unique_words']
    print(f'{title:<20} | {unique_words}')

কোডটি অধ্যয়ন করতে এক বা দুই মিনিট সময় নিন এবং দেখুন কীভাবে টেবিলটি জিজ্ঞাসা করা হচ্ছে।

ক্লাউড শেলে ফিরে, অ্যাপটি চালান:

python3 app.py

আপনি শব্দ এবং তাদের ঘটনাগুলির একটি তালিকা দেখতে হবে:

hamlet               | 5318
kinghenryv           | 5104
cymbeline            | 4875
troilusandcressida   | 4795
kinglear             | 4784
kingrichardiii       | 4713
2kinghenryvi         | 4683
coriolanus           | 4653
2kinghenryiv         | 4605
antonyandcleopatra   | 4582

8. GitHub ডেটাসেট জিজ্ঞাসা করুন

BigQuery এর সাথে আরও পরিচিত হওয়ার জন্য, আপনি এখন GitHub পাবলিক ডেটাসেটের বিরুদ্ধে একটি ক্যোয়ারী ইস্যু করবেন। আপনি GitHub-এ সবচেয়ে সাধারণ কমিট মেসেজ পাবেন। অ্যাড-হক কোয়েরিগুলির পূর্বরূপ দেখতে এবং চালানোর জন্য আপনি BigQuery-এর ওয়েব কনসোলও ব্যবহার করবেন৷

ডেটা দেখতে কেমন তা দেখতে, BigQuery ওয়েব UI-তে GitHub ডেটাসেট খুলুন:

github_repos টেবিল খুলুন

ডেটা দেখতে কেমন তা দেখতে পূর্বরূপ বোতামে ক্লিক করুন:

d3f0dc7400fbe678.png

bigquery_demo ফোল্ডারের ভিতরে app.py ফাইলে নেভিগেট করুন এবং নিম্নলিখিত কোডটি প্রতিস্থাপন করুন।

from google.cloud import bigquery

client = bigquery.Client()

query = """
    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
"""
results = client.query(query)

for row in results:
    subject = row['subject']
    num_duplicates = row['num_duplicates']
    print(f'{subject:<20} | {num_duplicates:>9,}')

কোডটি অধ্যয়ন করতে এক বা দুই মিনিট সময় নিন এবং সবচেয়ে সাধারণ কমিট বার্তাগুলির জন্য টেবিলটি কীভাবে জিজ্ঞাসা করা হচ্ছে তা দেখুন।

ক্লাউড শেলে ফিরে, অ্যাপটি চালান:

python3 app.py

আপনার কমিট বার্তা এবং তাদের ঘটনাগুলির একটি তালিকা দেখতে হবে:

Update README.md     | 1,685,515
Initial commit       | 1,577,543
update               |   211,017
                     |   155,280
Create README.md     |   153,711
Add files via upload |   152,354
initial commit       |   145,224
first commit         |   110,314
Update index.html    |    91,893
Update README        |    88,862

9. ক্যাশিং এবং পরিসংখ্যান

BigQuery প্রশ্নের ফলাফল ক্যাশ করে। ফলস্বরূপ, পরবর্তী প্রশ্নগুলি কম সময় নেয়। ক্যোয়ারী অপশন দিয়ে ক্যাশিং অক্ষম করা সম্ভব। BigQuery কোয়েরি সম্পর্কে পরিসংখ্যানও রাখে যেমন সৃষ্টির সময়, শেষ সময়, মোট বাইট প্রক্রিয়া করা।

এই ধাপে, আপনি ক্যাশিং অক্ষম করবেন এবং প্রশ্নগুলি সম্পর্কে পরিসংখ্যানও প্রদর্শন করবেন।

bigquery_demo ফোল্ডারের ভিতরে app.py ফাইলে নেভিগেট করুন এবং নিম্নলিখিত কোডটি প্রতিস্থাপন করুন।

from google.cloud import bigquery

client = bigquery.Client()

query = """
    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
"""
job_config = bigquery.job.QueryJobConfig(use_query_cache=False)
results = client.query(query, job_config=job_config)

for row in results:
    subject = row['subject']
    num_duplicates = row['num_duplicates']
    print(f'{subject:<20} | {num_duplicates:>9,}')

print('-'*60)
print(f'Created: {results.created}')
print(f'Ended:   {results.ended}')
print(f'Bytes:   {results.total_bytes_processed:,}')

কোড সম্পর্কে নোট করার জন্য কিছু জিনিস। প্রথমত, QueryJobConfig প্রবর্তন করে এবং use_query_cache মিথ্যাতে সেট করে ক্যাশিং অক্ষম করা হয়। দ্বিতীয়ত, আপনি কাজের অবজেক্ট থেকে প্রশ্ন সম্পর্কে পরিসংখ্যান অ্যাক্সেস করেছেন।

ক্লাউড শেলে ফিরে, অ্যাপটি চালান:

python3 app.py

আগের মত, আপনি কমিট বার্তা এবং তাদের ঘটনা একটি তালিকা দেখতে হবে. উপরন্তু, আপনি শেষ পর্যন্ত ক্যোয়ারী সম্পর্কে কিছু পরিসংখ্যান দেখতে হবে:

Update README.md     | 1,685,515
Initial commit       | 1,577,543
update               |   211,017
                     |   155,280
Create README.md     |   153,711
Add files via upload |   152,354
initial commit       |   145,224
first commit         |   110,314
Update index.html    |    91,893
Update README        |    88,862
------------------------------------------------------------
Created: 2020-04-03 13:30:08.801000+00:00
Ended:   2020-04-03 13:30:15.334000+00:00
Bytes:   2,868,251,894

10. BigQuery-এ ডেটা লোড হচ্ছে৷

আপনি যদি নিজের ডেটা জিজ্ঞাসা করতে চান তবে আপনাকে আপনার ডেটা BigQuery-এ লোড করতে হবে। BigQuery ক্লাউড স্টোরেজ, অন্যান্য Google পরিষেবা এবং অন্যান্য পঠনযোগ্য উত্স সহ অনেক উত্স থেকে ডেটা লোড করা সমর্থন করে৷ এমনকি আপনি স্ট্রিমিং সন্নিবেশ ব্যবহার করে আপনার ডেটা স্ট্রিম করতে পারেন। আরও তথ্যের জন্য BigQuery পৃষ্ঠায় ডেটা লোড হচ্ছে দেখুন।

এই ধাপে, আপনি ক্লাউড স্টোরেজে সঞ্চিত একটি JSON ফাইল একটি BigQuery টেবিলে লোড করবেন। JSON ফাইলটি gs://cloud-samples-data/bigquery/us-states/us-states.json এ অবস্থিত

আপনি যদি JSON ফাইলের বিষয়বস্তু সম্পর্কে আগ্রহী হন, তাহলে আপনি ক্লাউড শেলে এটি ডাউনলোড করতে gsutil কমান্ড লাইন টুল ব্যবহার করতে পারেন:

gsutil cp gs://cloud-samples-data/bigquery/us-states/us-states.json .

আপনি দেখতে পাচ্ছেন যে এতে মার্কিন রাজ্যের তালিকা রয়েছে এবং প্রতিটি রাজ্য একটি পৃথক লাইনে একটি JSON নথি:

head us-states.json
{"name": "Alabama", "post_abbr": "AL"}
{"name": "Alaska", "post_abbr":  "AK"}
...

এই JSON ফাইলটি BigQuery-এ লোড করতে, bigquery_demo ফোল্ডারের ভিতরে app.py ফাইলে নেভিগেট করুন এবং নিম্নলিখিত কোডটি প্রতিস্থাপন করুন।

from google.cloud import bigquery

client = bigquery.Client()

gcs_uri = 'gs://cloud-samples-data/bigquery/us-states/us-states.json'

dataset = client.create_dataset('us_states_dataset')
table = dataset.table('us_states_table')

job_config = bigquery.job.LoadJobConfig()
job_config.schema = [
    bigquery.SchemaField('name', 'STRING'),
    bigquery.SchemaField('post_abbr', 'STRING'),
]
job_config.source_format = bigquery.SourceFormat.NEWLINE_DELIMITED_JSON

load_job = client.load_table_from_uri(gcs_uri, table, job_config=job_config)

print('JSON file loaded to BigQuery')

কোডটি কীভাবে JSON ফাইল লোড করে এবং একটি ডেটাসেটের অধীনে একটি স্কিমা সহ একটি টেবিল তৈরি করে তা অধ্যয়ন করতে দুই মিনিট সময় নিন।

ক্লাউড শেলে ফিরে, অ্যাপটি চালান:

python3 app.py

BigQuery-এ একটি ডেটাসেট এবং একটি টেবিল তৈরি করা হয়।

ডেটাসেট তৈরি হয়েছে কিনা তা যাচাই করতে, BigQuery কনসোলে যান। আপনি একটি নতুন ডেটাসেট এবং টেবিল দেখতে হবে. আপনার ডেটা দেখতে টেবিলের পূর্বরূপ ট্যাবে স্যুইচ করুন:

8c7d2621820a5ac4.png

11. অভিনন্দন!

আপনি শিখেছেন কিভাবে পাইথনের সাথে BigQuery ব্যবহার করতে হয়!

পরিষ্কার করুন

এই টিউটোরিয়ালে ব্যবহৃত সংস্থানগুলির জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে:

  • ক্লাউড কনসোলে, সম্পদ পরিচালনা পৃষ্ঠাতে যান।
  • প্রকল্প তালিকায়, আপনার প্রকল্প নির্বাচন করুন তারপর মুছুন ক্লিক করুন।
  • ডায়ালগে, প্রকল্প আইডি টাইপ করুন এবং তারপরে প্রকল্পটি মুছে ফেলতে শাট ডাউন ক্লিক করুন।

আরও জানুন

লাইসেন্স

এই কাজটি ক্রিয়েটিভ কমন্স অ্যাট্রিবিউশন 2.0 জেনেরিক লাইসেন্সের অধীনে লাইসেন্সপ্রাপ্ত।