Datahub-通过datahub_console命令行上传和下载数据
(一)前提条件
在使用console工具前,请您确认已满足如下条件:
1) 待安装console的设备已安装Java 8或以上版本。
2)上传下载的Topic必须为Tuple类型。
(二)安装并配置console客户端
1) 下载命令行工具进行datahub_console.tar.gz并解压
2) 解压下载的安装包文件,得到bin、conf、lib文件夹
3) 进入conf文件夹,在conf目录中的datahub.properties文件填写ak endpoint信息,文件内容如下:
datahub.accessid=xxxxxx
datahub.accesskey=xxxxxx
datahub.endpoint=xxxxxxx
参数详细信息如下:
参数 |
是否必填 |
描述 |
示例 |
datahub.accessid |
是 |
阿里云账号或RAM用户的AccessKey ID。 |
无 |
datahub.accesskey |
是 |
AccessKey ID对应的AccessKey Secret。 |
无 |
datahub.endpoint |
是 |
DataHub服务的连接地址。 您需要根据创建DataHub项目时选择的地域以及网络连接方式配置Endpoint |
https://dh-cn-hangzhou.aliyuncs.com |
(三)运行console客户端
在系统的命令行执行窗口,进入console客户端安装路径下的bin目录。
Windows系统:执行datahubcmd命令,即可启动console客户端。
Linux系统或者Mac系统:执行sh datahubcmd.sh ,即可启动console客户端。
(四)上传下载数据
1.上传数据
参数 |
参数说明 |
是否必须 |
-f |
参数表示文件路径,注意:windows路径下请添加转义符,例如:D:\\test\\test.txt |
是 |
-p |
project名称 |
是 |
-t |
topic名称 |
是 |
-m |
参数表示文本分隔符,目前支持逗号、空格分隔符 |
是 |
-n |
参数表示每次上传batchsize大小,默认为1000 |
否 |
命令示例:
uf -f filepath -p test_topic -t test_topic -m "," -n 1000
示例:CSV文件上传
下面以CSV文件为例,说明下如何使用console工具将CSV文件上传到DataHub数据。CSV文件的格式如下所示:
1. 0,qe614c760fuk8judu01tn5x055rpt1,true,100.1,14321111111
2. 1,znv1py74o8ynn87k66o32ao4x875wi,true,100.1,14321111111
3. 2,7nm0mtpgo1q0ubuljjjx9b000ybltl,true,100.1,14321111111
4. 3,10t0n6pvonnan16279w848ukko5f6l,true,100.1,14321111111
5. 4,0ub584kw88s6dczd0mta7itmta10jo,true,100.1,14321111111
6. 5,1ltfpf0jt7fhvf0oy4lo8m3z62c940,true,100.1,14321111111
7. 6,zpqsfxqy9379lmcehd7q8kftntrozb,true,100.1,14321111111
8. 7,ce1ga9aln346xcj761c3iytshyzuxg,true,100.1,14321111111
9. 8,k5j2id9a0ko90cykl40s6ojq6gruyi,true,100.1,14321111111
10. 9,ns2zcx9bdip5y0aqd1tdicf7bkdmsm,true,100.1,14321111111
11. 10,54rs9cm1xau2fk66pzyz62tf9tsse4,true,100.1,14321111111
上述CSV文件中每行一条Record,按照(,)区分字段。保存在本地路径/temp/test.csv中。DataHub Topic格式如下:
字段名称 |
字段类型 |
id |
BIGINT |
name |
STRING |
gender |
BOOLEAN |
salary |
DOUBLE |
my_time |
TIMESTAMP |
使用console工具命令如下
uf -f /temp/test.csv -p test_topic -t test_topic -m "," -n 1000
2.下载数据
参数 |
参数说明 |
是否必须 |
-p |
project名称 |
是 |
-t |
topic名称 |
是 |
-s |
shardID |
是 |
-d |
订阅id |
是 |
-f |
下载路径 |
是 |
-ti |
参数表示读取该时间之后的点位,格式为:yyyy-mm-dd hh:mm:ss |
否 |
-l |
参数表示每次读取的数量 |
否 |
-g |
参数表示是否一直读。 其中:0表示只读一次,即获取当前recordsize后不再消费; 1表示一直读取 |
是 |
例如:
down -p test_project -t test_topic -s shardId -d subId -f /data/download/xxxx -ti "1970-01-01 00:00:00" -l 100 -g 0
本文来自博客园,作者:业余砖家,转载请注明原文链接:https://www.cnblogs.com/yeyuzhuanjia/articles/17672250.html