0
json_data = '[ "XXXXXX"、65465464.0,2、-1,10.10]' BigQueryのテーブルのBigQueryの挿入は、タイムスタンプデータ型のために失敗した
スキーマ:
ID文字列NULLABLE
タイムスタンプ文字列NULLABLE
XID INTEGER NULLABLE
YID INTEGER NULLABLE
大きFLOATのNULLABLE
script.py:
data = json.loads(json_data)
table.reload()
rows = [data]
errors = table.insert_data(rows)
エラー:
errors = table.insert_data(rows)
File "/usr/local/lib/python2.7/dist-
packages/google/cloud/bigquery/table.py", line 749, in insert_data
value = _microseconds_from_datetime(value) * 1e-6
File "/usr/local/lib/python2.7/dist-packages/google/cloud/_helpers.py", line
363, in _microseconds_from_datetime
if not value.tzinfo:
AttributeError: 'float' object has no attribute 'tzinfo'
は、誰もがこのエラーについてどんな考えを持っていますか?
感謝!
を:しかし、あなたはBQはとても挿入する前に、日時にUNIXタイムスタンプをロードタイムスタンプがdatetime.datetimeのオブジェクトのいずれかであることを期待insert_dataコマンドを使用するにはBigQueryは何かが 'datetime.datetime'オブジェクトであると予想しており、あなたはfloatを渡しています。 – fdsa
@fdsa基本的には、私はUNIXのepochのタイムスタンプデータを持っています。これはjsonレコードのfloat型として見ることができます。このデータのjsonファイルをロードするためにバッチジョブをトリガすると、このフロートタイプをDatetimeに変換することなく正常に動作します。しかし、同じjsonレコードの場合、(上記のように)大きなクエリAPIを使用して一度に挿入しようとすると、上記のエラーが発生します。すべてのポインタが役立つだろう! – Revan
https://docs.python.org/3/library/datetime.html#datetime.datetime.fromtimestamp – fdsa