b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

如何使用StreamSets实时收集指定数据目录文件并写入库Kudu

电脑杂谈  发布时间:2020-03-14 03:02:34  来源:网络整理

邮件 dat格式_dat info是什么格式_dat什么格式

Fayson在上面写过多篇StreamSets的文章,本篇文章主要介绍通过StreamSets实时的方法调用本地的数据文件,通过解读处理将文件中的内容写入至Kudu中。在进行本篇文章学习前你还必须知道:

《0220-如何在CDH中安装和使用StreamSets》

1.测试环境准备

2.准备测试数据

3.配置StreamSets

4.流程测试及数据验证

1.RedHat7.4

2.CM和CDH版本为6.1.0

3.Kudu 1.8.0

1.通过Hue使用Impala创建一个Kudu表,创建脚本如下:

CREATE TABLE user_info_kudu (
id STRING COMPRESSION snappy,
name STRING COMPRESSION snappy,
sex STRING COMPRESSION snappy,
city STRING COMPRESSION snappy,
occupation STRING COMPRESSION snappy,
mobile_phone_num STRING COMPRESSION snappy,
fix_phone_num STRING COMPRESSION snappy,
bank_name STRING COMPRESSION snappy,
address STRING COMPRESSION snappy,
marriage STRING COMPRESSION snappy,
child_num INT COMPRESSION snappy,
PRIMARY KEY (id)
)
PARTITION BY HASH PARTITIONS 16
STORED AS KUDU
TBLPROPERTIES ('kudu.master_addresses'='master,hadoop13'
);

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

在创建Kudu表的之后增加了kudu.master的配置参数,如果Impala中未集成kudu则必须降低该参数,集成方法如下:

dat什么格式_dat info是什么格式_邮件 dat格式

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

2.准备测试数据文件

[root@hadoop13 data]# cat user_infoaa.txt 
411025200708151236,濮敬才,1,竹山县,生产工作、运输工作和部分体力劳动者,13702734056,15103111241,广州银行48,台东东二路21号-20-7,0,2
653000199408254560,人思巧,0,怀化,商业工作人员,15305590235,15306212544,广州银行17,台东东二路21号-20-7,0,0
500000195305076075,詹致,1,商丘,企事业单位的负责人,13507721161,15105419035,广州银行81,台东东二路21号-20-2,0,4
130522198207211990,和东,1,阳泉,商业工作人员,13205104083,13105301541,广州银行6,台东东二路21号-2-9,0,0

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

准备了两个数据文件共100条测试数据dat info是什么格式,数据的id是唯一的。

3.在StreamSets服务所在节点上建立一个/data1/tmp的数据目录,用于配置StreamSets的采集目录

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

1.登录StreamSets,创建一个directory2kudu的Pipline

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

2.在Pipline流程中添加Directory作为源并配置基础信息

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

3.配置Kafka相关信息,如Broker、ZK及Topic

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

dat info是什么格式_dat什么格式_邮件 dat格式

配置采集的数据目录及文件写入方式

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

配置数据格式化方式,由于数据文件是以“,”分割因此选择CSV方式

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

Root Field Type选择为List,为会每行数据转换成List<Map<String, String>>格式的数据。

4.配置数据解读模块,这里选择使用“JavaScript Evaluator”

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

在JavaScript配置项选择处理数据的方法为Batch by Batch

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

配置数据解析代码,在Script配置项增加如下代码片段

for(var i = 0; i < records.length; i++) {
try {
var info = records[i];
var newRecord = sdcFunctions.createRecord(true);
var userInfoMap = sdcFunctions.createMap(true);
userInfoMap.id = info.value[0]['value'];
userInfoMap.name = info.value[1]['value'];
userInfoMap.sex = info.value[2]['value'];
userInfoMap.city = info.value[3]['value'];
userInfoMap.occupation = info.value[4]['value'];
userInfoMap.tel = info.value[5]['value'];
userInfoMap.fixPhoneNum = info.value[5]['value'];
userInfoMap.bankName = info.value[7]['value'];
userInfoMap.address = info.value[8]['value'];
userInfoMap.marriage = info.value[9]['value'];
userInfoMap.childNum = info.value[10]['value'];
newRecord.value = userInfoMap;
output.write(newRecord);
} catch (e) {
// Send record to error
error.write(records[i], e);
}
}

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

5.添加Kudu模块及配置基本信息

邮件 dat格式_dat什么格式_dat info是什么格式

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

6.配置Kudu的Master、Table、Operation等

Kudu Masters:可以配置多个dat info是什么格式,多个地址以“,”分割

Table Name:如果使用Impala创建的Kudu表则必须添加impala::前缀

Field to Column Mapping:配置Json中key与Kudu表的column的映射关系,如果字段名称一致则不需要配置。

Default Opertation:设置操作类型如:insert、upsert、delete

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

1.启动的directory2kudu,启动成功如下图显示

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

2.向/data1/tmp目录下拷贝一个准备好的数据文件

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

可以发现Pipline监控数据的变化,采集到50条数据

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

dat什么格式_dat info是什么格式_邮件 dat格式

user_info_kudu表数据显示有50条记录

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

3.再次向/data1/tmp目录拷贝一个数据文件

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

可以发现Pipline监控数据的变化,采集到100条数据

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

user_info_kudu表数据显示有100条记录

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

入库的数据总条数

0604-如何使用StreamSets实时采集指定数据目录文件并写入库Kudu

1.通过StreamSets可以便捷的指定的数据目录进行数据收集,可以在Directory模块上配置文件的过滤规则、采集频率或者数据的格式化方式。

2.StreamSets的Directory模块会将数据文件的数据以行为单位解析传输,通过List或着Map的方法封装

3.通过Process提供的JavaScript Evaluator模块来进行数据剖析转换为可Kudu接收大数据格式。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-144078-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 付其川
        付其川

        这是在美舰

      • 陈小春
        陈小春

        对于美国人对我岛礁建设提出的意见对我有利的将坚决采纳

      热点图片
      拼命载入中...