博客
关于我
DataStax Bulk Loader教程(三)
阅读量:411 次
发布时间:2019-03-06

本文共 2597 字,大约阅读时间需要 8 分钟。

 DataStax Bulk Loader系列教程共分为六篇,这是此系列的第三篇。前两篇(和)概括了一些基本的加载(load)范例。这一篇会介绍一些加载、卸载(unload)、计数(counting)的常规设置。

另外,我们也建议您在使用dsbulk时参考,从而了解所有的相关参数和选项。


 

 

范例 14:指定连接(Connection)

到目前为止的范例都是在本地计算机完成加载(默认主机)。我们可以使用 -h 参数指定主机的IP或名称。

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id -h 127.0.0.1
 

范例 14.1:指定端口(Port)

如果您很不幸遇到了DSE或Cassandra 监听端口不同于9042的情况,您可以用-port 参数连接指定端口。

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id -h 127.0.0.1 -port 9042
 

范例 14.2:指定用户名/密码

如果您的集群受到了用户名/密码的认证保护,您可以使用-u 和 -p 参数传入这些信息。

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id -u cassandra -p cassandra

注:当通过命令行上传密码时,您应该注意这会在系统日志、环境等地方显示。

 

范例 14.3:连接到启用Kerberos的集群

您也可以在Kerberos启用的集群上使用dsbulk。

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id --driver.auth.provider DseGSSAPIAuthProvider --driver.auth.saslService --driver.auth.principal -

以下为设置细节:

  • 服务(service) - 服务的名称,与~/.cassandra/cqlshrc中的服务名相同。

  • 主机(host) - 必须要是在Kerberos注册的主机名和~/.cassandra/cqlshrc里的主机名一样。

  • 主体(principal) - 使用的Kerberos主体,可以通过klist获得。

  

范例 15: 指定一致性等级(Consistency Level)

dsbulk默认的一致性等级是LOCAL_ONE。您可以通过-cl 参数指定想要的一致性等级,这是--driver.query.consistency 的简写。

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id -cl LOCAL_QUORUM

 

范例 16:错误和日志记录(Errors and Logging)

面对现实,数据永远不会像你想象的这么干净。事情会发生,错误也会产生,没关系。就像我们讨论过的,dsbulk可以记录错误,并将错误的记录放到一个“错误的文件“中以便日后查看。但是,dsbulk有其他的参数来控制错误的行为。

 

范例 16.1:错误上限(Max Errors)

有时候,加载的数据很糟糕以至于你要告诉dsbulk停下。您可以使用 -maxErrors 参数指定最大的错误数,是--log.maxErrors 的缩写,默认为10:

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id --log.maxErrors 3
 

范例 16.2:指定日志目录(Logging Directory)

dsbulk 在dsbulk运行的当前目录创建一个叫logs的子目录,来写入日志。您可以用 -logDir 参数指定一个不同的地址,这是--log.directory 的缩写:

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id -logDir /tmp/logs
 

范例 16.3:设置日志记录的详细度(Logging Verbosity)

dsbulk有一个可以调高或调低日志的详细度的方法,通过 --log.verbosity 参数。从最少到最细分为有效的等级0,1和2。例如,获取最少的输出:

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id --log.verbosity 0

 

范例 17: 监控(Monitoring)

dsbulk有一些方法监控dsbulk的进程。两种主要的方法是向当前屏幕(screen)报告或者向JMX报告。

 

范例 17.1:设置报告频率

当前屏幕报告进程频率默认为每5秒一次。频率可以通过 -reportRate 参数设置,这是--monitoring.reportRate 的缩写。

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id -reportRate 2s

或者:

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id -reportRate "2 seconds"
 

范例 17.2:启用/禁用JMX

默认情况下,dsbulk会通过JMX 提供检测指标,您可以通过--monitoring.jmx 禁用JMX。

$ dsbulk load -url /tmp/dsbulkblog/iris.csv -k dsbulkblog -t iris_with_id --monit

 


点击下载 DataStax Bulk Loader。

 

本系列所有文章:

 

转载地址:http://vfkuz.baihongyu.com/

你可能感兴趣的文章
Airtest自动化测试 Docs airtest.core.android package
查看>>
11.2.6 时间值的小数秒
查看>>
Redis源码分析(七)--- zipmap压缩图
查看>>
【MySQL】(九)触发器
查看>>
Oracle 11G环境配置
查看>>
【Python】(十二)IO 文件处理
查看>>
【Oozie】(三)Oozie 使用实战教学,带你快速上手!
查看>>
师兄面试遇到这条 SQL 数据分析题,差点含泪而归!
查看>>
C语言的数值溢出问题(上)
查看>>
8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
查看>>
vue项目通过vue.config.js配置文件进行proxy反向代理跨域
查看>>
android:使用audiotrack 类播放wav文件
查看>>
聊聊我的五一小假期
查看>>
ACM/NCPC2016 C Card Hand Sorting(upc 3028)
查看>>
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
查看>>
SLAM学习笔记-求解视觉SLAM问题
查看>>
程序员应该知道的97件事
查看>>
create-react-app路由的实现原理
查看>>
shell编程(六)语言编码规范之(变量)
查看>>
vimscript学习笔记(二)预备知识
查看>>