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

 

posted @ 2023-09-01 16:20  业余砖家  阅读(286)  评论(0编辑  收藏  举报