বিগ টেবিল সংযোগ সহ বিগকুয়েরি, কোনও কোয়েরি কার্যকর করতে পারে না


9

আমি বিগ টেবিলের ডেটার ভিত্তিতে কিছু প্রতিবেদন তৈরি করতে চাই। তার জন্য আমি একটি ক্যোয়ারী তৈরি করতে চেয়েছিলাম যা বিগ টেবিলের সর্বশেষতম ডেটা পাবে এবং এটি ডেটা স্টুডিওর প্রতিবেদনে পৌঁছে দেবে। এখন সমস্যাটি হ'ল আমি যখন বিগকিউরিতে একটি বিগ টেবিল সংযোগ তৈরি করি তখন আমি কোনও জিজ্ঞাসা চালাতে পারি না, এমনকি খালি টেবিলেও। আমি নিম্নলিখিত উপায়ে বিগকুয়েরির জন্য টাইপটি তৈরি করেছি:

bq mk \
--external_table_definition=gs://somebucket/big-table-definition.json \
datareportingdataset.datareportingtable

এবং কমান্ডটি সফলভাবে সম্পাদন করে। আমার big-table-definition.jsonদেখতে নিম্নলিখিতগুলির মতো:

{
    "sourceFormat": "BIGTABLE",
    "sourceUris": [
        "https://googleapis.com/bigtable/projects/playground-2/instances/data-reporting/tables/data-reporting-table"
    ],
    "bigtableOptions": {
        "readRowkeyAsString": "true",
        "columnFamilies" : [
            {
                "familyId": "cf1",
                "onlyReadLatest": "true",
                "columns": [
                    {
                        "qualifierString": "temp",
                        "type": "STRING"
                    },
                    {
                    //the rest of the columns
                ]
            }
        ]
    }
}

সাধারণ select *ক্যোয়ারি করার সময় ত্রুটিটি নীচের মত দেখাচ্ছে:

Error while reading table: datareportingdataset.datareportingtable, error message: Error detected while parsing row starting at position: 2. Error: Data between close double quote (") and field separator.

প্রথমে আমি বিগ টেবলে কিছু ডেটা সন্দেহ করছিলাম কিন্তু যখন আমি সেখান থেকে সবকিছু মুছে ফেলি তখন ত্রুটিটি এখনও ঘটে। আমি খুঁজে পেয়েছি যে এটি অবশ্যই জাসন ফাইলের সাথে এমন কিছু হতে হবে যখন আমি ত্রুটি পরিবর্তনের অবস্থানের প্রতিবেদনে "সোর্স ফরম্যাটগুলি" কয়েক লাইনে সরিয়ে রাখি। আমি এখানে কি ভুল করছি?

উত্তর:


1

কেবল আপনার কেসটি পুনরুত্পাদন করেছে এবং ঠিক একই ত্রুটিটি পেয়েছে। আমার কাছে দেখে মনে হচ্ছে আপনি যখন bq mk কমান্ডটি চালান এটি কোনও ডেটা বের করে না।

একটি ওয়ার্কআরড হিসাবে আমি আপনাকে পরামর্শ দিচ্ছি যে একটি ডেভলফ জব চালানোর জন্য আপনার ডেটা ক্লাউড স্টোরেজে একটি .avro ফাইল হিসাবে এক্সট্রাক্ট করতে এবং তারপরে আপনার ডেটা বিগকোয়ারিতে একটি ডেটাসেটে আমদানি করুন।


আমি বিশ্বাস করি না যে বিগ টেবিল অভ্র ফাইলগুলি বিগকুয়েরিতে আমদানি করতে সক্ষম হয়েছে (যদিও এটি অ্যাভ্রো ফাইলগুলি গ্রহণ করে)
বিলি জ্যাকবসন

1

আমি মনে করি সমস্যাটি আমি পুনরুত্পাদন করতে সক্ষম হয়েছি found ত্রুটি বার্তাটি বিভ্রান্তিকর তবে এখানে নথি হিসাবে :

আপনাকে অবশ্যই JSON স্কিমা ফাইলটি ম্যানুয়ালি তৈরি করতে হবে এবং এটি অবশ্যই আপনার স্থানীয় মেশিনে থাকা উচিত। ক্লাউড স্টোরেজ বা গুগল ড্রাইভে থাকা কোনও জেএসএন স্কিমা ফাইল উল্লেখ করা সমর্থিত নয়।

আমি বিগটবেল কুইকস্টার্টটির সাথে কিছু পরীক্ষা করেছি এবং এটি আমার পক্ষে ভাল কাজ করেছে:

bq query "SELECT * FROM DATASET.datareportingtable"
Waiting on JOB_ID ... (3s) Current status: DONE   
+--------+-----------------+---------------------------+-----------------------+
| rowkey | cf1_column_name | cf1_column_cell_timestamp | cf1_column_cell_value |
+--------+-----------------+---------------------------+-----------------------+
| r1     | c1              |       2019-10-15 18:15:04 | test-value            |
+--------+-----------------+---------------------------+-----------------------+

আমি পৃথক করেছিলাম শুধুমাত্র একটি জিনিস স্থানীয় পথ ব্যবহার হিসাবে ছিল:

--external_table_definition=big-table-definition.json

এটিকে আবার পরিবর্তন করা হচ্ছে:

--external_table_definition=gs://$BUCKET/big-table-definition.json

এবং আমি একই ত্রুটি পেয়েছি:

bq query "SELECT * FROM DATASET.datareportingtable2"
Waiting on JOB_ID ... (0s) Current status: DONE   
BigQuery error in query operation: Error processing job 'PROJECT:JOB_ID': Error while reading table: DATASET.datareportingtable2, error message: Error detected while parsing row starting at
position: 2. Error: Data between close double quote (") and field separator.

আকর্ষণীয়, আমার এখন এটি যাচাই করার সময় নেই তবে প্রচেষ্টাটির জন্য ধন্যবাদ
ক্রিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.