我們正在消耗非常大的數據,需要儘快寫入,因爲我們使用HDFS,因此我們更願意使用它。數據幾乎沒有結構化,我們很少會對它們進行基本查詢。數據與一些字段保持一致,每行代表另一個數據。HDFS上非結構化數據行的數據存儲格式
key1=str key2=30.3 key3=longtexthere
另一個數據行:
key1=3 key5=abc
SequenceFile似乎是最自然的,但我無法找到如何多行存儲在一個單一的SequenceFile。
目前,在我們的臨時解決方案中,我們有多個寫入多個文本文件的寫入器。所以當需要查詢時,我們會同時讀取它們。但是,當前的文本文件包含1000行,我不認爲爲每行創建單個SequenceFile都是可行的,因此在查詢時,它會一次性存儲元數據並讀取許多太多文件。
我認爲這個問題可以通過使用HBase或Cassandra這樣的columunar數據庫來解決,但我們幾乎需要使用HDFS。我是否遺漏了SequenceFiles或我們應該使用columunar數據庫?
你有固定數量的按鍵/列嗎? – oae
@oae不,雖然它們不是固定的,但它們很少被擴展,這意味着有時我們添加新的列,但舊數據沒有它們。 – Mustafa