【问题标题】:SQL Server to Big Query DDLSQL Server 到大查询 DDL
【发布时间】:2021-05-09 19:57:11
【问题描述】:

我是大查询的新手,正在寻找将所有表结构从 SQL Server 迁移到大查询的方法。需要创建近 300 个表。有什么办法可以自动完成或在更短的时间内完成。请稍微说明一下,因为我想很多人都会完成这项任务。

提前致谢,

文卡特。

【问题讨论】:

  • 没有直接的 GCP 工具来执行此迁移。虽然,我发现这个article 可能对您找出适合您情况的最佳实践很有用。
  • 为什么要从 SQL Server 迁移到 BigQuery?您当前的数据库很大吗?
  • 是的数据很大,我们需要做一些实时报告和其他多种原因
  • 嘿,你找到解决办法了吗?我现在也有同样的问题。
  • @Kc2 我们目前正在使用数据流模板来运行批处理作业,您可以编辑 jdbctobigquery 模板以包含您需要的尽可能多的管道。他们同时运行。如果您找到更好的方法,请告诉我。

标签: google-cloud-platform google-bigquery


【解决方案1】:

我最近写了一篇关于这个主题的博客文章

https://ael-computas.medium.com/copy-sql-server-data-to-bigquery-without-cdc-c520b408bddf

我还在 pypi 上发布了一个包,您可以将其用作集成的基础

from database_to_bigquery.sql_server import SqlServerToCsv, SqlServerToBigquery
sql_server_to_csv = SqlServerToCsv(username="scott",
                                   password="t1ger",
                                   host="127.0.0.1//optionalinstance_name",
                                   database="thedb",
                                   destination=f"gs://gcsbucketname")

bigquery = SqlServerToBigquery(sql_server_to_csv=sql_server_to_csv)

result = bigquery.ingest_table(sql_server_table="table_to_read",
                               sql_server_schema="dbo",
                               bigquery_destination_project="bigqueryproject",
                               bigquery_destination_dataset="bigquerydataset")
print(result.full_str())

获取架构可能是这样的。

columns, pks = sql_server_to_csv.get_columns("table", "dbo")
bigquery.write_bigquery_schema(columns, "/path/to/file")
# /path/to/file can be in cloud storage, ie - gs://foo/bar.json

它确实对数据类型做了一些假设,您可能想要覆盖这些假设,这是完全可能的。

【讨论】:

    猜你喜欢
    • 2018-12-15
    • 2010-12-05
    • 2010-11-14
    • 1970-01-01
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多