有啥方法可以将数据从谷歌电子表格传递到 clickhouse?

Posted

技术标签:

【中文标题】有啥方法可以将数据从谷歌电子表格传递到 clickhouse?【英文标题】:Any way to deliver data from google spreadsheets to clickhouse?有什么方法可以将数据从谷歌电子表格传递到 clickhouse? 【发布时间】:2020-07-08 12:12:10 【问题描述】:

我们的员工每天都会在 google 电子表格 中填写一些数据,我需要以一定的频率(例如每天一次)将这些表格发送到 clickhouse

(它位于我们的 aws 服务器上)

clickhouse 每次只写入表中的新数据还是所有表中的新数据都没有关系

请告诉我一个工作方法怎么做

工具包中的 python,理论上可以与 sqlalchemy 和气流 DAG 一起使用 但是对于气流中 dag 的开发,我还没有找到如何在 python 中编写脚本以从 googlespreadsheet 传输数据

的指南

第二个选项是使用谷歌电子表格的 owox 扩展 - 但你需要使用谷歌 BigQuery,这会滋生动物园,我还不想为 BQ 付费

您对如何使用脚本将表格从 Google 电子表格上传到 Clickhouse 有任何想法吗?

【问题讨论】:

为了访问您的谷歌电子表格,我建议您查看google's api documentation 或查看sheets api documentation 的详细信息。以任何其他方式获取数据,而不是通过 google api 可能会很麻烦。 问题的重点是如何一步一步做,很明显有文档,但更简单的方法是可取的,没有最佳实践案例就不要与手鼓和谷歌api跳舞 恐怕没有更简单的方法了。通过 API 进行连接非常简单。也不要通过翻译接受说法。我不知道用铃鼓跳舞意味着什么。 考虑使用 curl 通过spreadsheets.get HTTP API 获取所需数据,然后使用ClickHouse HTTP API 将结果传递给 CH @vladimir 但在这种情况下,Google 表的链接(如果已创建)是否会被搜索引擎索引?我了解到这样一个事实,如果您使用 http,任何人都可以通过这种方式查看信息 【参考方案1】:

我找到了 Python 库 pygsheets - 使用 api 访问电子表格比直接访问电子表格更容易

官方 pygsheets 码头 - https://pygsheets.readthedocs.io/en/stable/

此外,我还发现了更多库:gspread 和 oauth2client,它们也可用于 Python 与 api 分步指南 https://towardsdatascience.com/accessing-google-spreadsheet-data-using-python-90a5bc214fd2 gspread 的官方文档 https://gspread.readthedocs.io/en/latest/

我可以在气流中制造 dag 并管理 etl 进程

【讨论】:

我只想说,这还是用谷歌API。它只是 GSheets API 的一个包装器。 eah - 但是,它的答案比简单的更深入和复杂:阅读谷歌表格文档 api 但您最初的问题是,如何使用脚本从谷歌表格中获取数据。不是实现和使用 google api 数据的最佳方式或最简单的方式。另外,我建议在询问之前先使用谷歌搜索。因为您自己很快就清楚地找到了答案。 有一个问题——我们讨论最有效和最简单的解决方案是合乎逻辑的:))谢谢您的参与

以上是关于有啥方法可以将数据从谷歌电子表格传递到 clickhouse?的主要内容,如果未能解决你的问题,请参考以下文章

用于将数据从谷歌电子表格加载到 bigquery 的独立脚本

如何从谷歌电子表格中获取 json 数据

无法从谷歌电子表格中读取

是否有将谷歌文档转换为谷歌电子表格的功能?

通过在云中运行的笔记本从谷歌驱动器访问电子表格文件

从谷歌分析到谷歌表格的数据 - 格式错误的数字