老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

Flume接入Hive數倉的搭建流程

這篇文章主要講解了“Flume接入Hive數倉的搭建流程”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Flume接入Hive數倉的搭建流程”吧!

10年的永泰網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整永泰建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯從事“永泰網站設計”,“永泰網站推廣”以來,每個客戶項目都認真落實執行。

實時流接入數倉,基本在大公司都會有,在Flume1.8以后支持taildir source, 其有以下幾個特點,而被廣泛使用:

  1. 使用正則表達式匹配目錄中的文件名

  2. 監控的文件中,一旦有數據寫入,Flume就會將信息寫入到指定的Sink

  3. 高可靠,不會丟失數據

  4. 不會對跟蹤文件有任何處理,不會重命名也不會刪除

  5. 不支持Windows,不能讀二進制文件。支持按行讀取文本文件

本文以開源Flume流為例,介紹流接入HDFS ,后面在其上面建立ods層外表。

1.1 taildir source配置

a1.sources.r1.type = TAILDIR a1.sources.r1.positionFile = /opt/hoult/servers/conf/startlog_position.json a1.sources.r1.filegroups = f1 a1.sources.r1.filegroups.f1 =/opt/hoult/servers/logs/start/.*log

1.2 hdfs sink 配置

a1.sinks.k1.type = hdfs a1.sinks.k1.hdfs.path = /user/data/logs/start/logs/start/%Y-%m-%d/ a1.sinks.k1.hdfs.filePrefix = startlog. # 配置文件滾動方式(文件大小32M) a1.sinks.k1.hdfs.rollSize = 33554432 a1.sinks.k1.hdfs.rollCount = 0 a1.sinks.k1.hdfs.rollInterval = 0 a1.sinks.k1.hdfs.idleTimeout = 0 a1.sinks.k1.hdfs.minBlockReplicas = 1 # 向hdfs上刷新的event的個數 a1.sinks.k1.hdfs.batchSize = 100 # 使用本地時間 a1.sinks.k1.hdfs.useLocalTimeStamp = true

1.3 Agent的配置

a1.sources = r1 a1.sinks = k1 a1.channels = c1 # taildir source a1.sources.r1.type = TAILDIR a1.sources.r1.positionFile = /opt/hoult/servers/conf/startlog_position.json a1.sources.r1.filegroups = f1 a1.sources.r1.filegroups.f1 = /user/data/logs/start/.*log # memorychannel a1.channels.c1.type = memory a1.channels.c1.capacity = 100000 a1.channels.c1.transactionCapacity = 2000 # hdfs sink a1.sinks.k1.type = hdfs a1.sinks.k1.hdfs.path = /opt/hoult/servers/logs/start/%Y-%m-%d/ a1.sinks.k1.hdfs.filePrefix = startlog. # 配置文件滾動方式(文件大小32M) a1.sinks.k1.hdfs.rollSize = 33554432 a1.sinks.k1.hdfs.rollCount = 0 a1.sinks.k1.hdfs.rollInterval = 0 a1.sinks.k1.hdfs.idleTimeout = 0 a1.sinks.k1.hdfs.minBlockReplicas = 1 # 向hdfs上刷新的event的個數 a1.sinks.k1.hdfs.batchSize = 1000 # 使用本地時間 a1.sinks.k1.hdfs.useLocalTimeStamp = true # Bind the source and sink to the channel a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1

/opt/hoult/servers/conf/flume-log2hdfs.conf

1.4 啟動

flume-ng agent --conf-file /opt/hoult/servers/conf/flume-log2hdfs.conf -name a1 -Dflume.roog.logger=INFO,console  export JAVA_OPTS="-Xms4000m -Xmx4000m -Dcom.sun.management.jmxremote" # 要想使配置文件生效,還要在命令行中指定配置文件目錄 flume-ng agent --conf /opt/hoult/servers/flume-1.9.0/conf --conf-file /opt/hoult/servers/conf/flume-log2hdfs.conf -name a1 -Dflume.roog.logger=INFO,console

要$FLUME_HOME/conf/flume-env.sh加下面的參數,否則會報錯誤如下:

Flume接入Hive數倉的搭建流程

1.5 使用自定義攔截器解決Flume Agent替換本地時間為日志里面的時間戳

使用netcat source → logger sink來測試

# a1是agent的名稱。source、channel、sink的名稱分別為:r1 c1 k1 a1.sources = r1 a1.channels = c1 a1.sinks = k1 # source a1.sources.r1.type = netcat a1.sources.r1.bind = linux121 a1.sources.r1.port = 9999 a1.sources.r1.interceptors = i1 a1.sources.r1.interceptors.i1.type = com.hoult.flume.CustomerInterceptor$Builder # channel a1.channels.c1.type = memory a1.channels.c1.capacity = 10000 a1.channels.c1.transactionCapacity = 100 # sink a1.sinks.k1.type = logger # source、channel、sink之間的關系 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1

攔截器主要代碼如下:

public class CustomerInterceptor implements Interceptor {     private static DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");      @Override     public void initialize() {      }      @Override     public Event intercept(Event event) {         // 獲得body的內容         String eventBody = new String(event.getBody(), Charsets.UTF_8);         // 獲取header的內容         Map headerMap = event.getHeaders();         final String[] bodyArr = eventBody.split("\\s+");         try {             String jsonStr = bodyArr[6];             if (Strings.isNullOrEmpty(jsonStr)) {                 return null;             }             // 將 string 轉成 json 對象             JSONObject jsonObject = JSON.parseObject(jsonStr);             String timestampStr = jsonObject.getString("time");             //將timestamp 轉為時間日期類型(格式 :yyyyMMdd)             long timeStamp = Long.valueOf(timestampStr);             String date = formatter.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(timeStamp), ZoneId.systemDefault()));             headerMap.put("logtime", date);             event.setHeaders(headerMap);         } catch (Exception e) {             headerMap.put("logtime", "unknown");             event.setHeaders(headerMap);         }         return event;      }      @Override     public List intercept(List events) {         List out = new ArrayList<>();         for (Event event : events) {             Event outEvent = intercept(event);             if (outEvent != null) {                 out.add(outEvent);             }         }         return out;     }      @Override     public void close() {      }      public static class Builder implements Interceptor.Builder {         @Override         public Interceptor build() {             return new CustomerInterceptor();         }          @Override         public void configure(Context context) {         }     }

啟動

flume-ng agent --conf /opt/hoult/servers/flume-1.9.0/conf --conf-file /opt/hoult/servers/conf/flume-test.conf -name a1 -Dflume.roog.logger=INFO,console ## 測試 telnet linux121 9999

感謝各位的閱讀,以上就是“Flume接入Hive數倉的搭建流程”的內容了,經過本文的學習后,相信大家對Flume接入Hive數倉的搭建流程這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!


分享題目:Flume接入Hive數倉的搭建流程
本文來源:http://www.xueling.net.cn/article/pehjdg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲视频在线观看视频 | 老司机福利久久 | 亚洲国产精品激情综合图片 | 成人年无码AV片在线观看 | 伦理片一区 | a级a做爰片免费观看 | 亚洲精品在线视频播放 | 日韩性xxxx | 欧美亚洲综合在线观看 | 无码国产精品成人 | 久久狠狠亚洲综合 | 国产日韩欧美另类 | 色视频免费在线观看 | 欧美视频色 | 亚洲自偷观看高清久久 | 亚洲国产精品一区二区九九 | 最近日本中文字幕免费完整 | 欧美日韩高清不卡 | RUNAWAY在线观看韩国动漫 | 日韩人妻无码精品无码中文字幕 | 免费观影入口看日本视频 | 亚州综合| 日本aⅴ网站| 免费国产羞羞网站视频 | 视频日韩 | 国产剧情一区 | 国产区免费视频 | 亚洲精品高潮久久久久久久 | 九九一级片 | 亚洲精品鲁一鲁一区二区三区 | 日本精品少妇一区二区三区 | 欧洲熟妇色xxxx欧美老妇性 | 免费一级成人毛片 | 亚洲成在人 | 国精品无码一区二区三区在线蜜臀 | 欧美日韩精品在线免费观看 | 欧美成人亚洲成人 | 成人自拍视频 | 深夜视频在线观看免费 | 在线看一级毛片免费视频播放 | 内谢少妇xxxxx8老少交 |