我们正在将文件命名约定更改为UpperCamelCase。然后我们意识到,如果它是一个词的名字,烧烤只是忽略任何情况的变化。例如,当我们运行以下查询时,所有字段名都会按我们的预期更改,除了“速度”、“点火”、“纬度”和“经度”这几个字段名在较低的情况下保持不变.我想知道是虫子还是特别考虑?当我们将数千个表中的大数据迁移到新的命名约定时,它给了我们一个巨大的问题。
SELECT
file_date_time AS FileLastModifiedTime
,driver_id AS DriverId
,date_time AS DateTime
,latitude AS Latitude
,longitude AS Longitude
,gps_valid AS GpsValid
,ignition AS Ignition
,speed AS SPEED
,gps_reason AS GpsReason
,zip_code AS ZipCode
FROM MyTable发布于 2014-10-23 17:26:24
这是个窃听器。BigQuery中的字段名不区分大小写,您应该能够使用别名更改字段的大小写。我在内部注册了一个窃听器。
一个解决办法是做一个没有操作的类型,这将导致我们使用的别名与确切的大小写。
例如,如果速度是int:SELECT ... INTEGER(speed) AS SPEED, ...
发布于 2014-10-23 17:25:15
这是BQ的模式生成中的一个怪癖,因为您在另一个答案中提到了原因。
解决方法之一是使用子选择将字段重命名为中间名称:
SELECT LatitudeTmp AS Latitude FROM
(SELECT latitude AS LatitudeTmp FROM MyTable)发布于 2014-10-23 15:38:23
嗯,我的猜测是,当运行查询时,BQ对字段名不区分大小写。但是,当执行数据流时,字段名是区分大小写的。因为文件名为“点火”的记录不会成功地流到有“点火”的桌子上
https://stackoverflow.com/questions/26530898
复制相似问题