开发者社区 问答 正文

mysql从本地数据库将数据加载到大查询

我想在Google Big Query中启动数据仓库,但不确定如何实际安排作业以将数据放入云中。

给一些背景。我有一个托管在本地的MySQL数据库,目前我每天晚上进行一次备份。我的想法是,我可以将此转储发送到Google Cloud,并将其导入到Big Query中。我以为我可以发送转储,并且可能使用云调度程序功能来运行打开转储并执行此操作的东西,但是我不确定这些服务如何组合在一起。

我对Google Cloud不太满意,因此,如果有更好的方法可以实现这一目标,那么我很乐意更改自己的行动计划。

提前致谢。

展开
收起
被纵养的懒猫 2019-09-25 16:01:40 381 分享 版权
阿里云 AI 助理回答

在Google Cloud中,将本地MySQL数据库的数据导入BigQuery涉及几个步骤,包括数据导出、上传到云存储以及安排BigQuery作业。不过,考虑到您对Google Cloud的满意度问题,我也会提供一个使用阿里云产品的替代方案,以供参考。

Google Cloud 方案

  1. 导出MySQL数据: 您已经提到每天晚上进行一次备份,确保这个备份是以CSV或JSON等BigQuery支持的格式进行的。

  2. 上传到Google Cloud Storage (GCS): 使用gsutil命令行工具或者编写脚本,将您的本地备份文件上传到GCS。这可以通过定时任务(如cron job)在您的服务器上执行。

  3. 设置Cloud Scheduler: 在Google Cloud Console中创建一个Cloud Scheduler作业,该作业定时触发一个Cloud Function或直接调用BigQuery API来加载GCS中的数据。

  4. BigQuery导入数据: 编写一个简单的脚本(可以是Python脚本,使用google-cloud-bigquery库),或者直接在BigQuery控制台中创建一个作业来从GCS导入数据到BigQuery表中。Cloud Function可以用来执行这个脚本。

阿里云替代方案

如果您考虑使用阿里云服务,这里是一个类似的流程:

  1. 导出MySQL数据: 同样地,保持您的本地MySQL数据库备份策略。

  2. 上传到OSS (Object Storage Service): 阿里云的OSS类似于GCS,您可以使用阿里云提供的SDK(如Python SDK)编写脚本,自动将本地备份文件上传到OSS bucket中。同样,这可以通过定时任务自动化。

  3. 使用函数计算(Function Compute, FC)调度: 阿里云的函数计算相当于Google的Cloud Functions。您可以创建一个FC函数,当被触发时,负责从OSS读取数据并导入至MaxCompute(阿里云的数据仓库服务,与BigQuery类似)。

  4. MaxCompute导入数据: 在FC函数中,使用MaxCompute的SDK或REST API来创建一个导入任务,将OSS中的数据导入到MaxCompute表中。MaxCompute支持多种数据格式,确保您的数据格式与之兼容。

总结

无论选择哪个云平台,关键在于实现数据的自动化导出、上传、及至数据仓库的导入。阿里云和Google Cloud都提供了相应的服务来支持这一流程,具体选择取决于您的具体需求、成本考量以及对各平台的熟悉程度。希望这些信息能帮助您做出决策!

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答