DataStax Bulk Loader教程(三)

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

另外,我们也建议您在使用dsbulk时参考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。

 

本系列所有文章:

 
posted @ 2020-10-26 02:13  DataStax  阅读(173)  评论(0编辑  收藏  举报