我正在将数据从Oracle加载到Bigquery。我想基于Oracle中的现有列在Bigquery表中添加一个附加列。
我创建了一个简单的流程。 ExecuteSQL ->UpdateRecord -> PutBigQueryBatch
在Oracle中,我有A(string),B(string)和C(timestamp)列。
为了测试该流程是否有效,我在UpdateRecord
中创建了一个新属性'/ D',其值为'/ A'。输出数据具有附加列D,其值与A(string)相同。效果很好。
为了测试此流程是否有效,我在UpdateRecord
中创建了一个新属性'/ D',其值为'/ C'。输出数据具有附加列D,其值与C(AVRO逻辑类型timestamp-millis)相同。这也很好。
我想将数据上传到Bigquery,但将D列作为BigQuery Date数据类型而不是BigQuery Timestamp数据类型上传。
如何将Avro逻辑类型Timestamp-millis转换为Avro逻辑类型Date?
示例:
Oracle:
A | B | C
-----------------------------------------------------------------------------
1 | 2 |2013-12-10T13:24:40.000Z
Bigquery:
A | B | C | D
-------------------------------------------------------------------------------------------------
1 | 2 | 2013-12-10T13:24:40.000Z | 2013-12-10
ExecuteSQL
的“字段”中的输出模式:
{ "name": "A", "type": ["null","string"] },
{ "name": "C", "type": { "type" : "string","logicalType" : "timestamp-millis" } },
{ "name": "B", "type": ["null","string"] }