Saya ingin membuat beberapa laporan berdasarkan data di BigTable. Untuk itu saya ingin membuat kueri yang akan mendapatkan data terbaru dari BigTable dan meneruskannya ke laporan data studio. Sekarang masalahnya adalah ketika saya membuat koneksi BigTable di BigQuery saya tidak bisa menjalankan query apa pun, bahkan pada tabel kosong. Saya membuat tipe untuk BigQuery dengan cara berikut:
bq mk \
--external_table_definition=gs://somebucket/big-table-definition.json \
datareportingdataset.datareportingtable
dan perintah berhasil dijalankan. big-table-definition.json
Penampilan saya seperti berikut:
{
"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
]
}
]
}
}
Kesalahan saat melakukan select *
kueri sederhana tampak seperti berikut:
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.
Pertama saya mencurigai beberapa data di BigTable tetapi ketika saya menghapus semuanya dari sana kesalahan masih terjadi. Saya telah menemukan bahwa itu pasti ada sesuatu dengan file json itu sendiri seperti ketika saya memindahkan "sourceFormats" ke bawah beberapa baris kesalahan perubahan posisi yang dilaporkan. Apa yang saya lakukan salah di sini?
Saya pikir saya menemukan masalah karena saya dapat mereproduksinya. Pesan kesalahan membingungkan tetapi, seperti yang didokumentasikan di sini :
Saya melakukan beberapa tes dengan quicktart Bigtable dan itu bekerja dengan baik untuk saya:
Satu-satunya hal yang saya lakukan berbeda adalah menggunakan jalur lokal seperti pada:
Mengubah ini kembali ke:
Dan saya mendapat kesalahan yang sama:
sumber