中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

1.4 Flink HDFS Connector /Flink HDFS連接器

發布時間:2020-07-25 23:43:23 來源:網絡 閱讀:5880 作者:qq58ee24e2ee7de 欄目:開發技術

在上一章節已經翻譯了Flink Kafka Connector,但由于HDFS作為大多數研究大數據者日常用到的,此章節并添加翻譯HDFS的連接器。


此連接器提供了一個Sink,將分區文件寫入Hadoop FileSystem支持的任何文件系統。要使用此連接器,請將以下依賴項添加到您的項目中:


<dependency>

  <groupId> org.apache.flink </groupId>

  <artifactId> flink-connector-filesystem_2.10 </artifactId>

  <version> 1.2.0 </version>

</dependency>

請注意,流連接器當前不是二進制分發的一部分。有關如何將程序與程序庫打包以進行集群執行的信息,請參閱此處。


折疊文件接收器(Bucketing File Sink


可以配置壓力行為以及寫入操作,但我們稍后將會介紹。這是你如何創建一個耐心的病人,默認情況下,它會收斂到按時間分割的滾動文件:


<Java代碼>


DataStream <String> input = ...;

input.addSink(new BucketingSink <String>(“/base/path”));


唯一必需的參數是存儲桶的基本路徑。可以通過指定自定義bucketer,寫入器和批量大小來進一步配置接收器。


默認情況下,當元素到達時,當前的系統時間將會降級,并使用日期時間模式“yyyy-MM-dd-HH”命名這些存儲區。此模式將傳遞給具有當前系統時間的SimpleDateFormat以形成存儲桶路徑。每當遇到新的日期時,都會創建一個新的桶。例如,如果您有一個包含分鐘作為最細粒度的模式,您將每分鐘獲得一個新的桶。每個桶本身是一個包含幾個零件文件的目錄:每個并行實例的接收器將創建自己的零件文件,當零件文件變得太大時,槽也將在其他文件旁邊創建一個新的零件文件。當桶變得不活動時,打開的零件文件將被刷新并關閉。當最近沒有寫入時,桶被視為不活動。默認情況下,接收器每分鐘檢查不活動的桶,并關閉一分鐘內未寫入的任何桶。可以在BucketingSink上使用setInactiveBucketCheckInterval()和setInactiveBucketThreshold()配置此行為。


您也可以使用BucketingSink上的setBucketer()指定自定義bucketer。如果需要,bucketer可以使用元素或元組的屬性來確定bucket目錄。


默認的作者是StringWriter。這將調用toString()對傳入的元素,并將它們寫入部分文件,用換行符分隔。要在BucketingSink上指定一個自定義的作者,請使用setWriter()。如果要編寫Hadoop SequenceFiles,可以使用提供的SequenceFileWriter,它也可以配置為使用壓縮。


最后一個配置選項是批量大小。這指定何時應該關閉零件文件并啟動一個新的零件。 (默認部分文件大小為384 MB)。


例:


<Java代碼>


DataStream <Tuple2 <IntWritable,Text >> input = ...;


sinketingSink <String> sink = new BucketingSink <String>(“/ base / path”);

sink.setBucketer(new DateTimeBucketer <String>(“yyyy-MM-dd-HHmm”));

sink.setWriter(new SequenceFileWriter <IntWritable,Text>());

sink.setBatchSize(1024 * 1024 * 400); //這是400 MB,


input.addSink(sink);

這將創建一個寫入到遵循此模式的桶文件的接收器:


/ base / path / {date-time} / part- {parallel-task} - {count}

其中date-time是從日期/時間格式獲取的字符串,parallel-task是并行接收器實例的索引,count是由于批量大小而創建的部分文件的運行數。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴和县| 宜都市| 五台县| 大名县| 淄博市| 黑山县| 土默特左旗| 额济纳旗| 涞水县| 松潘县| 都江堰市| 靖安县| 安多县| 壶关县| 郁南县| 安塞县| 龙井市| 大石桥市| 沈丘县| 比如县| 榕江县| 石柱| 宝坻区| 甘谷县| 治多县| 盐源县| 增城市| 株洲县| 白山市| 溧水县| 浮山县| 石渠县| 汤原县| 通海县| 莱州市| 玉龙| 罗源县| 尼勒克县| 嵊州市| 岑巩县| 定襄县|