在云数据融合中转换为日期

问题描述 投票:1回答:2

我们如何在云数据融合中将字符串转换为日期?

我有一个值说为20191120(yyyyMMdd的格式)的列,我想将其作为日期加载到bigquery的表中。表列数据类型也是日期。

到目前为止,我已经尝试过使用“ parse-as-simple-date”将字符串转换为时间戳,并尝试使用format-date将字符串转换为“ yyyy-MM-dd”,但是此步骤将其转换为字符串,最终加载失败。我什至试图在o / p模式中将日期列明确提到为日期。但是它在运行时失败。

我尝试将其作为时间戳保留在管道中,并尝试将日期加载到Bigquery日期类型中。

我在出现的错误中注意到op是字段dt_1与avro整数不兼容。数据融合在加载之前是否在内部将提取的内容转换为avro。 AVRO没有引起问题的日期数据类型?

google-cloud-data-fusion cdap
2个回答
1
投票

为后代添加答案:

您可以尝试做这些,

  1. 转到牧马人的LocalDateTime列
  2. 打开下拉菜单,然后单击“自定义转换”
  3. Type timestamp.toLocalDate()(时间戳是列名)

在最后一步之后,应将其转换为LocalDate类型,您可以将其写入bigquery。希望对您有所帮助


0
投票

您可以尝试使用Wrangler通过Data Fusion解析输入数据。

为了进行测试,我复制了一个工作流程,在该工作流程中,数据融合管道中输入了来自BigQuery的数据。然后,将这些数据解析为正确的类型,然后将其再次导出回BigQuery。请注意,公共数据集为“ austin_311”,我使用了“‘311_request”表,因为其中某些列为TIMESTAMP类型。

我已完成的步骤如下:

  1. 我已使用以下方法查询了包含TIMESTAMP数据的公共数据集:

    select * from `bigquery-public-data.austin_311.311_request`
    limit 1000;
    
  2. 我已将其上传到Google Cloud Storage。

  3. 我在this之后创建了一个新的Data Fusion批处理管道。

  4. 我已经使用Wrangler解析CSV数据以自定义'简单数据'yyyy-MM-dd HH:mm:ss

  5. 我已将管道结果导出到BigQuery。

  6. This qwiklab已帮助我完成了步骤。

结果:

按照上述步骤,我已经能够将Data Fusion数据导出到BigQuery,并且DATE字段按预期导出为TIMESTAMP。


© www.soinside.com 2019 - 2024. All rights reserved.