Bigquery:未能更改字段名称

时间:2014-10-23 14:51:22

标签: google-bigquery

我们正在将提交的命名约定更改为UpperCamelCase。然后我们意识到,如果它是一个单字名称,BQ就会忽略任何案例更改。例如,当我们运行以下查询时,所有字段名称都按照我们的预期更改,除了“速度'”,“点火”,“纬度”等。和经度'只是保持原样他们是小写的......我想知道这是一个错误还是特别考虑?当我们将数千个表中的大数据迁移到新的命名约定时,它给我们带来了一个巨大的问题

     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

3 个答案:

答案 0 :(得分:2)

这是BQ模式生成中的一个怪癖,原因在于您的其他答案。

一种解决方法是使用将字段重命名为中间名称的子选择:

SELECT LatitudeTmp AS Latitude FROM
  (SELECT latitude AS LatitudeTmp FROM MyTable)

答案 1 :(得分:1)

这是一个错误。 BigQuery中的字段名称不区分大小写,您应该能够使用别名更改字段的大小写。我在内部提交了一个错误。

解决方法是进行无操作类型转换,这将导致我们使用精确的外壳应用别名。
例如,如果speed是int:SELECT ... INTEGER(speed) AS SPEED, ...

答案 2 :(得分:0)

嗯,我的猜测是,在运行查询时,BQ对字段名称不区分大小写。但是,在进行数据流传输时,字段名称区分大小写。因为带有归档名称的记录' Ignition'不会成功地流式传输到点火'

的桌子