バックグラウンド:
HDFSディレクトリにいくつかのgzipファイルがあります。これらのファイルには、yyyy-mm-dd-000001.gz、yyyy-mm-dd-000002.gzなどの形式で名前が付けられます。
目的:
列1-日付(yyyy-mm-dd)、列2-合計ファイルサイズのテーブルを作成するハイブスクリプトを作成します。
具体的には、特定の日付のすべてのgzipファイルのサイズを合計したいと思います。合計は、列2の値と列1の日付になります。
これは可能ですか?ユースケースに役立つ組み込み関数またはUDFはありますか?
前もって感謝します!
回答:
回答№1は0このためのMapReduceジョブは、実際にはデータをロードする必要がないため、「効率的ではないようです」。さらに、これを行うことは、Hiveではやや厄介に思えます。
出力を解析するために、bashスクリプトまたはpythonスクリプトなどを記述できますか hadoop fs -ls
?次のようなものを想像します。
$ hadoop fs -ls mydir/*gz | python datecount.py | hadoop fs -put - counts.txt