首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google Cloud Platform Data ETL批量处理:云函数数据流

Google Cloud Platform Data ETL批量处理:云函数数据流
EN

Stack Overflow用户
提问于 2019-08-21 21:41:40
回答 2查看 730关注 0票数 0

我在我的新公司担任数据工程师,致力于构建google cloud platform (GCP)批处理ETL管道。我的团队的数据科学家最近向我传递了一个数据模型(用Python3.6编写的.py文件)。

数据模型有一个主函数,我可以调用它并获得一个数据帧作为输出,我打算将这个数据帧附加到一个bigquery表中。有没有什么办法,我可以只导入这个主函数,并使用apache (数据流)将其集成到管道中,而不必将数据模型重新编码为PTransform?或者,使用云调度程序和云函数来实现我想要的效果会更好吗?

我是一个完全初学者与数据流和阿帕奇光束,所以任何帮助或链接到指南将非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2019-08-22 03:05:10

您可以利用BigQuery's built-in integrations with Pandas,而不是转换为CSV文件并将其加载到BigQuery (这是一个更长且可能更昂贵的过程):

代码语言:javascript
运行
复制
import pandas

df = pandas.DataFrame(
{
    'my_string': ['a', 'b', 'c'],
    'my_int64': [1, 2, 3],
    'my_float64': [4.0, 5.0, 6.0],
}
)
full_table_id = 'my_dataset.new_table'
project_id = 'my-project-id'

df.to_gbq(full_table_id, project_id=project_id)

在管道编排方面,我个人喜欢Apache Airflow,它与Cloud Composer集成得很好。

编辑:查看针对df.to_gbq的扩展docs,以更好地控制如何加载数据帧。

票数 2
EN

Stack Overflow用户

发布于 2019-08-22 02:47:45

如果您有一个数据帧,最简单的方法是使用transform it into CSV,然后将其加载到BigQuery (load job)

不要忘记添加job_config.write_disposition = 'WRITE_APPEND',以便将数据添加到现有表中。看看另一个参数,模式自动检测,CSV分隔符,跳过前导行可以帮助你实现你的加载。

通过调度程序在函数或云运行触发器中执行此操作。它工作得很好!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57593062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档