【问题标题】:Loading BigQuery GA Data to Redshift将 BigQuery GA 数据加载到 Redshift
【发布时间】:2020-03-24 07:55:30
【问题描述】:

能否请您提供如何将 biGQuery 中的谷歌分析数据加载到 Redshift 的方法?可以使用云功能吗?或者,我如何从 BigQuery 端触发它,而不是使用 python 脚本来调用 bigquery?

【问题讨论】:

    标签: google-bigquery google-cloud-functions amazon-redshift


    【解决方案1】:

    您可以利用两个云功能将数据导入 S3。在 S3 中后,您可以拥有自己的机制(例如 Lambda 函数)将数据导入 Redshift。

    序言:设置 Stackdriver 导出触发器

    只要有最新的 Google Analytics(分析)每日会话表可用,我们就会触发我们的第一个 Cloud Function。这是通过在 Stackdriver Logging 指示已加载最新表时触发 Pub/Sub 消息来完成的。要设置此触发器,follow these steps(请参阅“Pub/Sub & Stackdriver”部分)。

    Cloud Function 1:导出 BigQuery 表

    • 触发器:加载新的每日表格时的 Pub/Sub 消息
    • 工作流程
      • 将表导出为 JSON(或 Avro、Parquet)
      • 将 JSON 保存在 Google 云存储中

    云功能2:将导出文件传输到S3

    • 触发器:Google Cloud Storage 存储分区中的新文件
    • 工作流程
      • 利用 boto 从 Google Cloud Storage 读取文件
      • 将文件传输到 S3
      • 删除或存档文件

    【讨论】:

    • 另外你也可以使用推荐的方法here从gcs复制到s3
    • @vinoaj,谢谢!我尝试按照 Pub/Sub 的步骤进行操作,但卡在云功能 [1] 在 GCS 中导出 bigquery 表。但我收到错误 - 已在问题中更新
    • @Justine 看起来可能是语法错误。你能提供你的整个代码来调试吗?
    • @Justine - 重新查看错误消息,我怀疑您拥有的是多行查询语句。在这种情况下,您的 Python 语法应该是(即使用三引号):QUERY="""......"""
    • @vinoaj,谢谢,这有帮助,但我遇到了另一个错误。我已经更新了上面的问题以包含代码。我需要做额外的设置吗?
    猜你喜欢
    • 1970-01-01
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 2015-07-24
    相关资源
    最近更新 更多