試圖將csv文件加載到bigquery表中。有些列的類型是INTEGER,但有些缺失值是NULL。所以,當我使用命令BQ負荷加載,得到了以下錯誤:BigQuery無法解析爲'int'字段
Could not parse 'null' as int for field
所以我想知道有什麼辦法解決這個問題的最佳解決方案,必須先重新處理數據BQ加載?
試圖將csv文件加載到bigquery表中。有些列的類型是INTEGER,但有些缺失值是NULL。所以,當我使用命令BQ負荷加載,得到了以下錯誤:BigQuery無法解析爲'int'字段
Could not parse 'null' as int for field
所以我想知道有什麼辦法解決這個問題的最佳解決方案,必須先重新處理數據BQ加載?
您需要轉換數據才能得到預期的模式和數據。而不是INTEGER,將列指定爲具有STRING類型。將CSV文件加載到您不打算長期使用的表格中。 YourTempTable。在BigQuery UI中,單擊「顯示選項」,然後選擇一個包含所需表名稱的目標表。現在運行查詢:
#standardSQL
SELECT * REPLACE(SAFE_CAST(x AS INT64) AS x)
FROM YourTempTable;
這將字符串值轉換到'null'
被視爲null
整數。
非常感謝解決方案。該表實際上有許多整數類型的列以及其他類型的列。由於我每天都在建立一個數據管道。我想知道是否會更好地處理csv文件以刪除所有null,以便null,變爲,,然後執行加載。 –
這可能會起作用,或者您可以按原樣加載數據,然後使用上面建議的形式查詢定義邏輯視圖。不是直接查詢表,而是查詢邏輯視圖,該視圖將字符串轉換爲整數。 –
要確認...它看起來像你的值是字符串「null」,而不是實際爲空。是對的嗎? –
@ElliottBrossard這是正確的,所以在csv文件中,它就像null,而不是,,。 –