İç içe geçmiş ve tekrarlanan alanlar içeren tabloyu sorgulamam gerekiyor, bq komut satırını kullanarak sonuç, orijinal biçim olarak sonuç almam gerektiğinde düzleştirilmiş sonuçlar ver.BQ komut satırı "--noflatten_results" seçeneğinin yuvalanmış alanlar için nasıl kullanılacağı
orignal biçimi
{
"fields": [
{
"fields": [
{
"mode": "REQUIRED",
"name": "version",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "hash",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "header",
"type": "STRING"
},
{
"name": "organization",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "date",
"type": "TIMESTAMP"
},
{
"mode": "REQUIRED",
"name": "encoding",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "message_type",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "receiver_code",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "sender_code",
"type": "INTEGER"
},
{
"mode": "REQUIRED",
"name": "segment_separator",
"type": "STRING"
},
{
"fields": [
{
"fields": [
{
"name": "name",
"type": "STRING"
},
{
"name": "description",
"type": "STRING"
},
{
"name": "value",
"type": "STRING"
},
{
"fields": [
{
"name": "name",
"type": "STRING"
},
{
"name": "description",
"type": "STRING"
},
{
"name": "value",
"type": "STRING"
}
],
"mode": "REPEATED",
"name": "composite_elements",
"type": "RECORD"
}
],
"mode": "REPEATED",
"name": "elements",
"type": "RECORD"
},
{
"name": "description",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "name",
"type": "STRING"
}
],
"mode": "REPEATED",
"name": "segments",
"type": "RECORD"
},
{
"mode": "REQUIRED",
"name": "message_identifier",
"type": "INTEGER"
},
{
"mode": "REQUIRED",
"name": "element_separator",
"type": "STRING"
},
{
"name": "composite_element_separator",
"type": "STRING"
}
],
"mode": "REPEATED",
"name": "messages",
"type": "RECORD"
},
{
"mode": "REQUIRED",
"name": "syntax",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "encoding",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "file_name",
"type": "STRING"
},
{
"mode": "REQUIRED",
"name": "size",
"type": "INTEGER"
}
]
}
gibi bakıyor Yani yuvalama gösterimi ile (lokal) verilerini verme?
[DÜZENLE]
Google'a İhracat iç içe olduğu gösterimi
O ardından tablonun aktardığınız Google Depolama ayıklamak ve nihayet dosya indirmek için var yuvalama temsilini dışa aktarmanın tek çözüm gibi görünüyor bu. Eğer -noflatten_results
kullanmak ayrıca --allow_large_results
ve --destination_table
kullanmak zorunda zaman
bq query --destination_table=DEV.EDI_DATA_EXPORT --replace \
--allow_large_results --noflatten_results \
"select * from DEV.EDI_DATA where syntax='EDIFACT' " \
&& bq extract --destination_format=NEWLINE_DELIMITED_JSON DEV.EDI_DATA_EXPORT gs://mybucket/data.json \
&& gsutil cp gs://mybucket/data.json .
Bana şaşırtıcı ...
Json'a yerel olarak sahip olmam gerekiyor (web uygulaması) :) –
sonuçları yeni bir tabloya kaydettikten sonra, JSON dışa aktarabilirsiniz :) –
OP'imi güncelleyeceğim, cevabımı yorumlamaktan çekinmeyin. –