Im使用PostgresToGCSOperator [v1.10和v2.0导出数据。我知道那个操作符中有一个映射。我已经改变了这一点,并作为一个定制运营商。如果Postgres有时间戳,那么在BQ中使用DATETIME作为时间戳Z使用时间戳
1114: 'DATETIME',
1184: 'TIMESTAMP',
1082: 'DATE',
1083: 'TIME',
1005: 'INTEGER',
1007: 'INTEGER',
1016: 'INTEGER',
20: 'INTEGER',
21: 'INTEGER',
23: 'INTEGER',
16: 'BOOLEAN',
700: 'FLOAT',
701: 'FLOAT',
1700: 'FLOAT'
但是,在以CSV格式导出数据时,它不会考虑这一点,而是以EPOCH格式导出值。我怎么修理它
还有一个最佳选择:为地面军事系统操作员定制气流Postgres。因此,您可以使用CSV或JSON,并且没有任何限制
在原始操作器上更换:
以及转换:
我找到了一个棘手的解决办法。我们可以使用
row_to_json
函数将postgres本身的输出转换为JSON。然后将其导出到地面军事系统但也有一些小问题
schema file
将只有一列。所以你必须处理它李>row_to_json
作为头李>NEWLINE_DELIMITED_JSON
,但在导出过程中使用CSV
,分隔符为|
,否则将添加不必要的引号李>schema file manually
并使用它李>max bad records as 1
,因为头名称将不会被解析李>autodetect=False
样本:
输出:
相关问题 更多 >
编程相关推荐