1. 程式人生 > >kafka hdfs connect 會產生只有一個記錄的小檔案

kafka hdfs connect 會產生只有一個記錄的小檔案

1. 問題現象:

如果用kafka hdfs connect將流式資料匯入hdfs,處理開始一定會產生N個只有一條記錄的小檔案,其中N 為kafka topic的分割槽數。不影響功能,但不友好。

ubuntu@wonderwoman:~/databus/confluent-2.0.0/src/kafka-connect-hdfs-2.0.0$ hadoop fs -ls /topics/traceme/srcip=1.0.0.1/dstip=1.0.0.2
Found 18 items
-rw-r--r--   3 ubuntu supergroup        671 2016-06-28 17:20 /topics/traceme/srcip=1.0
.0.1/dstip=1.0.0.2/traceme+0+0000000167+0000000167.parquet

2. 問題原因:

資料寫入hdfs的時機有兩個,超時或者條數達到要求。超時機制:
1. 檢查當前時間和上次寫檔案時間是否超過配置值;
2. 如果超過,寫檔案,記錄下此次寫入時的系統時間;
問題出在類初始化時,沒有對記錄的變數進行初始化,long型預設值是0。第一個資料來時,當前系統時間-0 肯定會大於配置值,就會去寫檔案。

3. 修改方案:

kafka-connect-hdfs-2.0.0\src\main\java\io\confluent\connect\hdfs\TopicPartitionWriter.java類初始化時將變數lastRotate初始化為當前系統時間。

相關推薦

kafka hdfs connect 產生只有一個記錄檔案

1. 問題現象: 如果用kafka hdfs connect將流式資料匯入hdfs,處理開始一定會產生N個只有一條記錄的小檔案,其中N 為kafka topic的分割槽數。不影響功能,但不友好。 ubuntu@wonderwoman:~/databus/co

編譯一個java源程式檔案,產生多少個位元組碼檔案

一般情況下一個Java檔案代表一個類,在編譯時會產生一個位元組碼.class檔案。 但是在Java中 一個原始檔中可以包含多個類,但是隻能有一個public類,其他的都成為內部類,這時編譯時

Linux修改檔案時候,產生一個.swap交換檔案,如何刪除

有時候在用vim開啟檔案時提示類似以下的資訊:E325: 注意發現交換檔案 ".exportcert.cpp.swp"所有者:liuchuanliang日期: Thu Mar1 17:15:41 2012檔名:~liu

python spark中parquet檔案寫到hdfs,同時避免太多的檔案(block檔案合併)

    在pyspark中,使用資料框的檔案寫出函式write.parquet經常會生成太多的小檔案,例如申請了100個block,而每個block中的結果 只有幾百K,這在機器學習演算法的結果輸出中經常出現,這是一種很大的資源浪費,那麼如何同時避免太多的小檔案(bloc

轉:Linux 雙網卡配置兩個IP同時只有一個通的原因

每次 網關 font onf ipv proc 發現 檢查 echo 根本原因: Linux默認啟用了反向路由檢查 如果2個網卡在一個Lan裏面,那麽服務器可能從eth0或者eth1發現網關, 如果一個包從eth0進入了, 而網關在eth1上, 那麽從eth1是出不去的,

sparkstreaming消費kafka如何保證輸出結果只產生一次?(事務性)

最近開始使用sparkstreaming+kafka0.10,使用過程中碰到問題:     steaming採用的direct方式 ,(這種方式和receiver方式的對比效能會好很多),spark計算完資料之後有一個結果入庫操作,現在問題來了,採用自動提交的時候程式二次啟

UICollectionView一個section只有一個item的時候它出現在螢幕中間的bug

需求:為實現第一行顯示一個,第二行以後顯示兩個 方案1:用系統自帶的流佈局,實現的效果是,若第二行只有一個,則系統預設會居中顯示,不是左對齊(如下圖),不符合專案要求。 方案2:自定義系統的UICollectionViewFLowLayout,主要程式碼如下, 只

form內只有一個輸入框時,按回車自動提交

  昨天碰到一個問題,一個新增頁面,本來我的提交按鈕是button型別的,<input type="button" value="提交" onclick="sub()"> 當我輸完名稱的時候,隨手按了個回車,發現表單自動提交了,而其他頁面也是這麼寫的,都沒這個

Linux 雙網絡卡配置兩個IP同時只有一個通的原因

根本原因: Linux預設啟用了反向路由檢查 如果2個網絡卡在一個Lan裡面,那麼伺服器可能從eth0或者eth1發現閘道器, 如果一個包從eth0進入了, 而閘道器在eth1上, 那麼從eth1是出不去的, 就不通了.  反向路由檢查要求從哪裡來的才能回哪去. 關閉反向

CURL庫FTP傳輸檔案,當ftpServer端預設登入的目錄不是根目錄/時,有一個bug產生

CURL 庫在使用FTP傳輸檔案時, 正常情況下, ftp的server端都會預設進入根目錄 /,   但是當ftp的server端設定了一個子目錄, 比如 ftp的server設定了  /data/movies 為第一次預設進入的目錄, 則curl的FTP將會無法傳輸檔案,

專案裡出現兩個配置類繼承WebMvcConfigurationSupport時,為什麼只有一個生效(原始碼分析)

  為什麼我們的專案裡出現兩個配置類繼承WebMvcConfigurationSupport時,只有一個會生效。我在網上找了半天都是說結果的,沒有人分析原始碼到底是為啥,博主準備講解一下,希望可以幫到大家!   大家基本遇到過一種情況,就是我配置類中已經配置了,為什麼就是沒有生效呢?其中一種原因就是,自己寫的

混亂中的ICO平臺,是下一個P2P的重災區?

ico平臺當眾多巨頭和創業者還在為共享打車、共享單車、VR、IP化、互聯網金融沈迷時,一種全新的“眾籌”正在造就一個又一個暴富神話。其名為ICO,即首次代幣眾籌,一般指區塊鏈初創項目在眾籌平臺上發行項目代幣,投資者使用指定數字貨幣購買代幣為項目進行眾籌行為。而近段時間以來,國內外ICO市場井噴式爆發。今年初至

如何給一塊新硬盤安裝grub,讓它成為一個只有一個內核的系統

libc key 分區類型 con mount 問題 2.6 usr grub.conf (1)先關機 (2)添加一塊硬盤 (3)將硬盤分區,/dev/sdb1為boot分區,/dev/sdb2為swap分區, /dev/sdb3為根分區 (4)調整/dev/sdb2

給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前後沒有空格。

foo x11 sdi ocl ref margin dia 分割 lns 2巳嘿2啃40必刪8蔚http://t.docin.com/mqjnf44635 4瓶3ck芳8g0琳c鋪巢0http://t.docin.com/uemr9596 pf絞職9ZPFV壕5htt

flume+kafka+hdfs詳解

utf-8 conf prop nts command format ext sink 1.4 flume架構圖 單節點flume配置 flume-1.4.0 啟動flume bin/flume-ng agent --conf ./conf -f conf/flume

CheckedComboBoxEdit 多選時,值與值之間多出一個空格

from args ted orm chan table tro 使用 strong 測試代碼: 1 public partial class Form1 : Form 2 { 3 public Form1() 4 { 5

賭王二太女兒說父親只有一個正妻:三太、四太只是女朋友

存在 接受 bcf text 股份 而已 圖片 老婆 資產 眾所周知,賭王何鴻燊共有四任妻子,原配黎婉華、 二太藍瓊纓、 三太陳婉珍、 四太梁安琪, 除了原配黎婉華離世,其余各房都不是省油的燈,爭寵鬥法的激烈程度也是人盡皆知,二太的女兒何超儀,在接受林燕妮的

ASP.Net Core項目在Mac上使用Entity Framework Core 2.0進行遷移可能遇到的一個問題.

連接字符串 ron dex cal orm 並且 fig pre RM 在ASP.Net Core 2.0的項目裏, 我使用Entity Framework Core 2.0 作為ORM. 有人習慣把數據庫的連接字符串寫在appSettings.json裏面, 有的習慣寫

急速擴張的美團,成為下一個樂視嗎?

美團 最近關於美團會成為下一個樂視的報道遍布各大網絡媒體。其實要說起美團和樂視,這兩家公司在業務層面似乎並沒有真正相似的地方,為何最近不少媒體的報道會將二者聯系在一起呢?這是因為二者目前的發展策略和軌跡實在是太像了。樂視最終的失敗,甚至被認為是一場“驚天騙局”的主要原因,就在於其不斷畫大餅、擴張業務,但卻始終

xp系統重裝後只有一個盤了別的分區的文件怎樣找到

錯誤 完成 只有一個 image 重裝系統 ima 由於 選擇 百度搜 GHOST系統分區丟失是由於在重裝系統時,選擇了錯誤的選項導致把整個硬盤當成C盤來裝,裝完之後自然就只剩下一個盤。想要恢復丟失盤的數據,需要註意,別往現在的這個C盤存入新的文件(因為現在存入的文件可能會