我一直在疯狂地尝试从现有的Datetime列类型创建一个列,该类型将“发布”到Big Query的“ timestamp”列。我尝试了Dataprep的函数“ unixtime”和“ unixtimeformat”函数的所有排列都无济于事:我总是让Dataprep发布为“字符串”或“日期时间”列类型。
更新:我的工作流程如下:GCS .csv文件==> Dataprep ==> BQ。
请帮助! 谢谢!!!
解决方案:Trifacta的员工(即Cloud Dataprep)提供了解决方案。创建一个带有“ Timestamp”类型的列(假设名为“ dt”)的BQ表,并使用Dataprep的“ Append”发布功能以及一个源列类型“ Datetime”(同名“ dt”)。
答案 0 :(得分:1)
检查Cloud Dataprep Supported Data Types,不支持“时间戳”数据类型。
但是,如果Dataprep中的列属于Datetime(时间戳)类型,那么当您写入BigQuery时,它将保留Timestamp类型(请参见BigQuery Data Type Conversions)
这是一个虚拟的示例:
答案 1 :(得分:0)
不是理想的解决方案,但对我的情况有所帮助:
oldTable
)创建BQ表(event_time
)newTable
),并将event_time
转换为时间戳:CREATE TABLE
newTable AS (
SELECT
col1,
col2,
...,
timestamp(event_time) as event_time,
...,
colN
FROM
oldTable
);