Voglio generare alcuni report basati sui dati in BigTable. Per questo volevo creare una query che ottenga i dati più recenti dalla BigTable e li passi sul report di Data Studio. Ora il problema è che quando creo una connessione BigTable in BigQuery non riesco a eseguire alcuna query, anche sulla tabella vuota. Creo il tipo per BigQuery nel modo seguente:
bq mk \
--external_table_definition=gs://somebucket/big-table-definition.json \
datareportingdataset.datareportingtable
e il comando viene eseguito correttamente. Il mio big-table-definition.json
aspetto è il seguente:
{
"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'errore quando si esegue una select *
query semplice è simile al seguente:
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.
Prima sospettavo alcuni dati nella BigTable ma quando ho eliminato tutto da lì si verifica ancora l'errore. Ho scoperto che deve essere qualcosa con il file json stesso come quando sposto "sourceFormats" su alcune righe l'errore cambia posizione segnalato. Cosa sto facendo di sbagliato qui?