BigTable'daki verilere dayanarak bazı raporlar oluşturmak istiyorum. Bunun için BigTable'dan en son verileri alacak ve veri stüdyosu raporuna iletecek bir sorgu oluşturmak istedim. Şimdi sorun şu ki, BigQuery'de bir BigTable bağlantısı oluşturduğumda, boş tabloda bile herhangi bir sorgu yürütemiyorum. BigQuery için türü aşağıdaki şekilde oluşturuyorum:
bq mk \
--external_table_definition=gs://somebucket/big-table-definition.json \
datareportingdataset.datareportingtable
ve komut başarıyla yürütülür. Benim big-table-definition.json
şöyle görünüyor:
{
"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
]
}
]
}
}
Basit bir select *
sorgu yaparken hata aşağıdaki gibi görünür:
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.
İlk önce BigTable'da bazı verilerden şüpheleniyordum ama oradan her şeyi sildiğimde hala hata oluşuyor. Ben "sourceFormats" birkaç satır aşağı hata bildirilen pozisyon değiştiğinde json dosyası kendisi ile bir şey olması gerektiğini öğrendim. Burada neyi yanlış yapıyorum?