Tôi muốn tạo một số báo cáo dựa trên dữ liệu trong BigTable. Vì vậy, tôi muốn tạo một truy vấn sẽ lấy dữ liệu mới nhất từ BigTable và chuyển nó vào báo cáo của studio dữ liệu. Bây giờ vấn đề là khi tôi tạo kết nối BigTable trong BigQuery, tôi không thể thực hiện bất kỳ truy vấn nào, ngay cả trên bảng trống. Tôi tạo kiểu cho BigQuery theo cách sau:
bq mk \
--external_table_definition=gs://somebucket/big-table-definition.json \
datareportingdataset.datareportingtable
và lệnh thực thi thành công. Hình của tôi big-table-definition.json
như sau:
{
"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
]
}
]
}
}
Lỗi khi thực hiện select *
truy vấn đơn giản như sau:
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.
Đầu tiên tôi đã nghi ngờ một số dữ liệu trong BigTable nhưng khi tôi xóa mọi thứ từ đó thì lỗi vẫn xảy ra. Tôi đã phát hiện ra rằng nó phải là một cái gì đó với chính tệp json vì khi tôi di chuyển "sourceFormats" xuống một vài dòng, vị trí thay đổi lỗi được báo cáo. Tôi làm gì sai ở đây?