自动将Google云存储文件导入Google云MySQL表
目前,我在一个GCS存储桶中有一个CSV,它通过托管在谷歌云上的管道每天更新。我已经使用这个CSV通过云UI导入功能在MySQL数据库中填充了一个表,没有任何问题自动将Google云存储文件导入Google云MySQL表,mysql,google-cloud-platform,automation,google-cloud-storage,google-cloud-sql,Mysql,Google Cloud Platform,Automation,Google Cloud Storage,Google Cloud Sql,目前,我在一个GCS存储桶中有一个CSV,它通过托管在谷歌云上的管道每天更新。我已经使用这个CSV通过云UI导入功能在MySQL数据库中填充了一个表,没有任何问题 我想做的是每天在设定的时间运行此导入以更新表数据,因为我的管道将更新我的CSV。我看不到任何UI功能可以做到这一点,也不确定最好的方法是什么。我更像是一名数据分析师,而不是一名SWE,因此试图破解云运行之类的功能有点棘手…目前,GCP的产品、BigQuery、云扳手、数据存储等都有默认管道,这些管道由数据流提供。数据流不支持将云存储上
我想做的是每天在设定的时间运行此导入以更新表数据,因为我的管道将更新我的CSV。我看不到任何UI功能可以做到这一点,也不确定最好的方法是什么。我更像是一名数据分析师,而不是一名SWE,因此试图破解云运行之类的功能有点棘手…目前,GCP的产品、BigQuery、云扳手、数据存储等都有默认管道,这些管道由数据流提供。数据流不支持将云存储上的文本文件转换为云SQL(Mysql等) 我认为,你可以写函数。该函数的作用是,如果doc添加了云存储,它将读取所有的doc并在MySQL中写入表的相关部分 或 您可以使用gcloud命令工具或restapi(beta版)自动导入MySQL。
为了更好地理解如果您有CSV,并且希望在Datastudio中可视化数据,我建议您使用BigQuery。这是一个PB级的数据仓库,拥有大量的功能 其中之一是直接从云存储读取数据和查询数据的能力:。这不是最有效的,但对你来说是最有用的 您还可以读取文件并将结果存储在带有
INSERT。。。选择…
语句
最后,您可以使用BigQuery。也不是很难,但需要更多代码(在云存储中创建文件时捕获事件,然后将其加载到BigQuery)。但对于这样的简单代码,我相信您可以找到云函数和云运行的示例
因此,当数据位于BigQuery中时,您可以简单地使用SQL查询请求它们,就像使用MySQL一样。BigQuery是一种无服务器产品,您只需支付存储的数据量(如果存储在BigQuery中,则支付存储在云存储中的数据量)和处理的数据量
您也有很多很棒的文章来解释如何使用和限制BigQuery的成本;我也更新:我最后做了一些事情来解决我的问题。TL;DR BigQuery+事件触发功能:
有一个小的许可问题,以确保我的文件/存储桶可由与该功能相关联的服务帐户访问,但没有太大的问题。测试该函数显示成功,我的BigQuery表按预期更新。我将在接下来的几个晚上进行监控,以确保这一功能继续发挥作用,并编辑此响应,以防我被误认为任何不可预见的原因。您如何处理MySQL中的数据?是低延迟服务吗?或者用于数据分析(因为您是数据分析师!)?我想将其读入DataStudio并在那里创建一些图表/viz。我最初在GCS中使用我的CSV,但是现在它超过了100MB的文件大小限制,所以我不得不使用不同的数据访问方法。我在看BigQuery,但看起来它的起价是每月约480美元,只是对于节点来说,这远远超出了我必须使用的预算,除非我误解了BigQuery的定价……我是错误地查看BigTable,而不是BigQuery。我在BigQuery中将我的CSV文件作为一个表加载,它非常适合查询,并且似乎适合连接到DataStudio。是否知道BigQuery表是否会随着GCS bucket中的CSV更新而更新?我的管道将在凌晨3点运行,所以我可以等到明天,但我希望在此之前设定我的期望值……如果您使用联邦查询,BigQuery将在GCS中读取CSV,而不是在BigQuery表中。我想我需要帮助的是您的节选项(使用gcloud命令工具),因为它们有点超出我的专业知识范围。我已经通读了文档,但是没有一个例子,我不清楚如何真正做到这一点