StreamSets的簡單使用
環境: StreamSets 3.14.0 kudu 1.7.0-cdh5.16.2
1. 創建一個directory2kudu的Pipline
2. 在Pipline流程中添加Directory作爲源並配置基礎信息
- 配置Kudu的Master、Table、Operation等
- Kudu Masters:可以配置多個data info是什麼格式,多個地址以“,”分割
- Table Name:如果使用Impala創建的Kudu表則必須添加impala::前綴
- Field to Column Mapping:配置Json中key與Kudu表的column的映射關係,如果字段名稱一致則不需要配置。
- Default Opertation:設置操作類型如:insert、upsert、delete
3)設置kudu的master, 目標表的表名, kuduTable的字段
1) 這會兒再對Directory配置修改一下(爲JavaScript做準備工作):
配置數據格式化方式,由於數據文件是以“\u0001”分割因此選擇CSV方式
Root Field Type選擇爲List,爲會每行數據轉換成List<Map<String, String>>格式的數據。
3) 在JavaScript配置項選擇處理數據的方法爲Batch by Batch
4) 配置數據解析代碼,在Script配置項增加如下代碼片段
總結:
- 通過StreamSets可以便捷的指定的數據目錄進行數據收集,可以在Directory模塊上配置文件的過濾規則、採集頻率或者數據的格式化方式。
- StreamSets的Directory模塊會將數據文件的數據以行爲單位解析傳輸,通過List或着Map的方法封裝
- 通過Process提供的JavaScript Evaluator模塊來進行數據剖析轉換爲可Kudu接收大數據格式。