Сохраняет ли экспорт BigQuery JSON верхний / нижний регистр для имен столбцов? - PullRequest
0 голосов
/ 11 сентября 2018

Имена столбцов BigQuery не чувствительны к регистру.(https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical)

Насколько я пытался (ниже), кажется, что BigQuery сохраняет верхний / нижний регистр для имен столбцов при экспорте.

$ bq show --format=sparse sandbox.case_test

   Last modified         Schema        Total Rows   Total Bytes   Expiration   Time Partitioning   Labels 
 ----------------- ------------------ ------------ ------------- ------------ ------------------- --------
  11 Sep 12:46:02   |- small: string   1            12                                                    
                    |- LARGE: string

Эта таблица имеет верхний и нижний регистримена случаев.

$ bq extract --destination_format=NEWLINE_DELIMITED_JSON  sandbox.case_test gs://sandbox/case_test.json


$ gsutil cat  gs://sandbox/case_test.json
{"small":"hoge","LARGE":"buzz"}

Кто-нибудь знает какие-либо документы, в которых упоминается такое поведение?

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Хотя в столбце ссылки чувствительны к регистру, имена столбцов как сохраняются в регистре метаданных. Я не думаю, что есть документация, в которой говорится: «BigQuery сохраняет исходные имена столбцов, которые вы ему даете, и использует их в качестве имен полей для экспорта», но я могу подтвердить, что это так.

0 голосов
/ 11 сентября 2018

Имена столбцов без учета регистра означают, что вы можете - не беспокоиться о случае, когда вы ссылаетесь на столбцы в своих инструкциях SELECT. Например

#standardSQL
SELECT small, LARGE 
FROM `project.sandbox.case_test`

и

 #standardSQL
SELECT sMAll, LarGE 
FROM `project.sandbox.case_test`  

соответственно выдаст результат без какого-либо сбоя

Row small   LARGE    
1   hoge    buzz     

Row sMAll   LarGE    
1   hoge    buzz       

Обратите внимание, что имена столбцов без учета регистра не означают, что они будут изменены во время экспорта - скорее будут использоваться имена, заданные в схеме
Я сомневаюсь, что это отражено конкретно где-либо в документации, поскольку я бы посчитал это очевидным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...