【问题标题】:Replicating data from MySQL to BigQuery using GCP Data Fusion - Getting issue with 'Date' datatype使用 GCP 数据融合将数据从 MySQL 复制到 BigQuery - 出现“日期”数据类型的问题
【发布时间】:2021-07-22 20:22:06
【问题描述】:

我想将 GCP Compute Engine 中保存的 Mysql 表复制到 GC BigQuery。 我参考了这份文件:https://cloud.google.com/data-fusion/docs/tutorials/replicating-data/mysql-to-bigquery。 所以我决定使用 GCP 数据融合来完成这项工作。

一切正常,数据在 Bigquery 中复制。 所以我正在测试这个 Replication 的不同数据类型支持。

我在此复制管道中遇到的问题, 因此,每当我尝试为数据融合复制添加“DATE”数据类型列时,BigQuery 中都不会显示整个表(包含“DATE”列)

它使用与源相同的架构创建表,并且 BigQuery 中也存在“日期”数据类型,并且我使用了 BigQuery 支持的相同日期格式。

我还查看了数据融合日志,它显示管道正在将数据完美地加载到 BigQuery 中,还通过 inserts更新捕获了从源 Mysql DB 添加到 Mysql Table 中的新行 也是如此。 但不知何故,行没有进入 Bigquery。

是否有人使用带有“日期”列数据类型的数据融合复制? 这是 BigQuery 或 Data Fusion 的问题吗? 我需要在 BigQuery 中提供任何手动设置吗? 任何人都可以为此提供意见吗?

【问题讨论】:

  • 复制管道的日期时间支持由 cdap.atlassian.net/browse/PLUGIN-645 跟踪。
  • (我使用的是 6.4 - cdap)日期时间正在工作,因为它在数据融合复制管道中被视为“TIMESTAMP”。

标签: mysql google-cloud-platform google-bigquery replication google-cloud-data-fusion


【解决方案1】:

我会将此问题标记为已解决。 由于问题出在数据融合上,最新版本 6.4.1 现在在 BigQuery 中复制时支持 Datatime 数据类型。 我现在正在接收正确的日期和日期时间数据。

感谢大家的帮助:)

【讨论】:

    【解决方案2】:

    我使用了以下包含日期字段的架构。

    create table tutorials_tbl(tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY ( tutorial_id ));
    

    当我运行复制管道时,我看到 BQ 表是使用以下架构创建的:

    我还看到了表格中的事件:

    您能分享输入表架构吗?您还可以检查 BQ 表下的 Job History 和 Query History 选项卡,以查看是否有任何错误。

    【讨论】:

    • 在我的例子中,Schema 也是在 bigquery 中创建的。但是,您是否尝试过复制表中的数据/行?还是在表中插入带有日期数据类型列的行?
    • 嗨.. 是的,我尝试添加几行 - 检查上面的屏幕截图,其中数据在 BQ 中,tutorial_id 1 和 2 与 submit_date 作为日期类型。你能分享你的表模式,管道日志吗?您是否还检查了作业和查询历史选项卡中 bq 端是否有任何错误?
    猜你喜欢
    • 2020-04-28
    • 2022-12-13
    • 2020-06-07
    • 1970-01-01
    • 2012-08-26
    • 2013-06-06
    • 2021-07-16
    • 2021-07-03
    • 2019-07-31
    相关资源
    最近更新 更多