cassandra导出和导入数据
来源:互联网 发布:淘宝卖家会员关系管理 编辑:程序博客网 时间:2024/05/18 02:50
cassandra像其他RDBMS一样提供了export/import工具:
- cqlsh命令COPY TO/FROM
注意这不是cql命令。使用这组命令可以在cassandra与其他RDBMS或cassandra之间迁移数据。COPY TO/FROM支持CSV文件格式以及标准输出和输入。
COPY TO/FROM命令同样支持集合数据类型。 - sstable2json/json2sstable
这组工具已经过时,在3.0版本中已被删除。所以不应该再使用这组工具。
- sstableloader
Cassandra bulk loader,可以装载外部数据到cassandra,也可以恢复snapshot,装载sstable到不同配置的cassandra集群。
如果数据量很大,应该使用sstableloader,如果数据量比较小的话,使用COPY TO/FROM更省时省力。 - Snapshots
snapshots是cassandra正牌的备份恢复工具,而不是用于与其他数据库系统进行数据迁移的工具。所以严格来说它不应该算作export/import工具。
- ETL工具
很多第三方的ETL(Extract-Transform-Load)工具支持从其他数据库向cassandra数据库迁移数据。
COPY TO/FROM
这里只讲一下COPY TO/FROM命令。
命令格式:
COPY table_name ( column, ...)
FROM (
'file_name'
| STDIN )
WITH option =
'value'
AND ...
COPY table_name ( column , ... )
TO (
'file_name'
| STDOUT )
WITH option =
'value'
AND ...
COPY FROM 用于从csv文件或标准输入import数据到表,而COPY TO用于将表数据export到csv文件或标准输出。
WITH option=’value’ 用于指定csv文件的格式,分隔符,引用,转移字符,文件编码,时间格式等等,详见官方文档。
如果不指定列名,会按表元数据中记载的列顺序输出所有的列。同样,如果csv也是按相同的顺序组织数据,COPY FROM时也可以忽略所有的列名。
COPY TO/FROM时,可以只指定部分列进行部分数据的导出和导入,而且可以以任意顺序指定列名。
如果表中已经存在数据,COPY FROM不会truncate已有的数据。
导出数据的示例:
cqlsh> use
test
;
cqlsh> COPY airplanes (name, mach, year, manufacturer) TO
'export.csv'
;
导入数据的示例:
cqlsh> COPY airplanes (name, mach, year, manufacturer) FROM
'import.csv'
;
如果使用标准输入导入数据,要使用只包含 \.
字符的单独一行来结束数据输入。
如果导入数据时出现如下错误提示:
Error starting
import
process:
field larger than field limit (131072)
%d
format
: a number is required, not NoneType
这是因为csv文件包含大容量字段,python的csv模块需要设置更大的字段尺寸限制。
修改/usr/bin/cqlsh.py文件,在导入csv模块之后,添加如下行:
csv.field_size_limit(sys.maxsize)
注意:含有counter列的表无法使用COPY TO/FROM来导出和导入数据。
References:
[1]Ways to Move Data To/From DataStax Enterprise and Cassandra
[2]Consider deprecating sstable2json/json2sstable in 2.2
[3]_csv.Error: field larger than field limit (131072)
[4]cassandra数据迁移
- cassandra导出和导入数据
- 数据导出和导入
- 数据的导出和导入
- mysql数据导入和导出
- oracle 数据导入和导出
- oracle 数据导入和导出
- DB2数据导出和导入
- Hive数据导入和导出
- MYSQL数据导出和导入
- mysql数据导出和导入
- hive导入和导出数据
- MSSQL 数据导入和导出
- mongodb导出和导入数据
- 数据的导入和导出
- bugfree数据导出和导入
- infobright数据导入和导出
- SQLite数据导入和导出
- Hive数据导入和导出
- onMeasure(三)
- 利用springMVC拦截器配置网站根目录
- 解题报告:HDU 5763
- iptables基础教程
- 如何将文本编辑器嵌入框架--以Umeditor&CodeIgniter框架为例
- cassandra导出和导入数据
- 长网址转换为短网址
- UGUI 中Tab切换 InputField
- itunes下载的软件所在目录
- RMQ算法 - Sparse-Table
- json弹框的[object Object]怎么进一步获得值
- Android 之 点赞+收藏
- static的作用
- mysql 中having的用法