Ale*_*nko 5 cassandra google-bigquery apache-spark google-cloud-platform pyspark
我让Apache Cassandra在Google Cloud中使用4个虚拟机.我认为它太贵了,想要将所有数据导出到BigQuery.Cassandra大约有2 TB(60毫米行).有什么建议我该怎么办?
提前致谢.
我们决定将Apache Cassandra的5年数据移至Google BigQuery.问题不只是转移数据或导出/导入,问题是非常古老的Cassandra!
经过广泛研究,我们已计划迁移以将数据导出到csv,然后上传到Google Cloud Storage以便在Big Query中导入.
痛苦是Cassandra 1.1处理大量记录的方式!没有分页所以在某些时候你会用完某些东西!如果没有弄错的话,从版本2.2开始引入分页.
在我尝试升级到最新版本3.4失败后,我决定尝试其他版本,幸运的是版本2.2工作了!通过工作我的意思是我能够按照升级步骤结束并且数据可访问.
因为我无法获得任何直接升级的支持,我尝试简单升级到2.2也失败了.所以我别无选择,只能升级到2.0,然后升级到2.2.因为这是一项非常微妙的任务,所以我只是转发你到官方网站,然后才给你摘要.请务必查看docs.datastax.com并按照他们的说明操作.
要概述,您将执行以下步骤:
在继续下一步之前成功升级SSTable非常重要.简单地使用
nodetool升级稳定
使用排空节点
nodetool drain
然后只需停止节点
编辑/etc/yum.repos.d/datastax.repo
[datastax]
name = DataStax Repo for Apache Cassandra
baseurl = https://rpm.datastax.com/community
enabled = 1
gpgcheck = 0
Run Code Online (Sandbox Code Playgroud)
然后安装并启动服务:
yum install dsc20
service cassandra start
Run Code Online (Sandbox Code Playgroud)
升级到Cassandra 2+后,您可以将数据导出到csv而不会出现分页或崩溃问题.
只是为了记录,一些命令来获取有关数据结构的必要信息如下:
cqlsh -u username -p password
describe tables;
describe table abcd;
describe schema;
Run Code Online (Sandbox Code Playgroud)
一旦我们知道要导出的表格,我们只需将它们与键空间一起使用.首先将所有命令添加到一个文件中以创建批处理.
vi commands.list
Run Code Online (Sandbox Code Playgroud)
例如,导出一个表的示例命令:
COPY keyspace.tablename TO '/backup/export.csv';
Run Code Online (Sandbox Code Playgroud)
最后运行文件中的命令:
cqlsh -u username -p password -f /backup/commands.list
Run Code Online (Sandbox Code Playgroud)
所以到目前为止,您已将表导出到csv文件.您现在需要做的就是将文件上传到Google云端存储:
gsutil rsync /backup gs://bucket
Run Code Online (Sandbox Code Playgroud)
稍后,您可以使用Google API将csv文件导入Google BigQuery.您可以在cloud.google.com中查看Google文档
归档时间: |
|
查看次数: |
965 次 |
最近记录: |