我想在Google Big Query中启动数据仓库,但不确定如何实际安排作业以将数据放入云中。
给一些背景。我有一个托管在本地的MySQL数据库,目前我每天晚上进行一次备份。我的想法是,我可以将此转储发送到Google Cloud,并将其导入到Big Query中。我以为我可以发送转储,并且可能使用云调度程序功能来运行打开转储并执行此操作的东西,但是我不确定这些服务如何组合在一起。
我对Google Cloud不太满意,因此,如果有更好的方法可以实现这一目标,那么我很乐意更改自己的行动计划。
提前致谢。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Google Cloud中,将本地MySQL数据库的数据导入BigQuery涉及几个步骤,包括数据导出、上传到云存储以及安排BigQuery作业。不过,考虑到您对Google Cloud的满意度问题,我也会提供一个使用阿里云产品的替代方案,以供参考。
导出MySQL数据: 您已经提到每天晚上进行一次备份,确保这个备份是以CSV或JSON等BigQuery支持的格式进行的。
上传到Google Cloud Storage (GCS): 使用gsutil
命令行工具或者编写脚本,将您的本地备份文件上传到GCS。这可以通过定时任务(如cron job)在您的服务器上执行。
设置Cloud Scheduler: 在Google Cloud Console中创建一个Cloud Scheduler作业,该作业定时触发一个Cloud Function或直接调用BigQuery API来加载GCS中的数据。
BigQuery导入数据: 编写一个简单的脚本(可以是Python脚本,使用google-cloud-bigquery库),或者直接在BigQuery控制台中创建一个作业来从GCS导入数据到BigQuery表中。Cloud Function可以用来执行这个脚本。
如果您考虑使用阿里云服务,这里是一个类似的流程:
导出MySQL数据: 同样地,保持您的本地MySQL数据库备份策略。
上传到OSS (Object Storage Service): 阿里云的OSS类似于GCS,您可以使用阿里云提供的SDK(如Python SDK)编写脚本,自动将本地备份文件上传到OSS bucket中。同样,这可以通过定时任务自动化。
使用函数计算(Function Compute, FC)调度: 阿里云的函数计算相当于Google的Cloud Functions。您可以创建一个FC函数,当被触发时,负责从OSS读取数据并导入至MaxCompute(阿里云的数据仓库服务,与BigQuery类似)。
MaxCompute导入数据: 在FC函数中,使用MaxCompute的SDK或REST API来创建一个导入任务,将OSS中的数据导入到MaxCompute表中。MaxCompute支持多种数据格式,确保您的数据格式与之兼容。
无论选择哪个云平台,关键在于实现数据的自动化导出、上传、及至数据仓库的导入。阿里云和Google Cloud都提供了相应的服务来支持这一流程,具体选择取决于您的具体需求、成本考量以及对各平台的熟悉程度。希望这些信息能帮助您做出决策!