2017-08-18 8 views
-1

ヘルプを私はOIVツール経由で区切られたcsvファイルに変換fsimageをダウンロードしたは、必要に応じ

ください問い合わせます。 また、ハイブテーブルを作成し、csvファイルをそのテーブルに挿入しました。

私はSQLに精通していないので、データを照会するのは難しいです。

例:ファイルの各レコードは、このようなものです:

を/ tmp /ハイブ/ ltonakanyan/9c01cc22-55ef-4410-9f55-614726869f6d/hive_2017-05-08_08-44-39_680_3710282255695385702-113/- .hive-staging_hive_2017-05-08_08-44-39_680_3710282255695385702-113/-ext-10001/000044_0.deflate | 3 | 2017-05-0808:45 | 2017-05-0808:45 | 134217728 | 1 | 176 | 0 | 0 | -rw-r ----- | ltonakanyan | hdfs

/data/lz/cpi/ofz/zd/cbt_ca_verint/new_data/2017-09-27/253018001769667.xml | 3 | 2017-09-2723:41 | 2017-09-2817:09 | 134217728 | 1 | 14549 | 0 | 0 | -rw-r ----- | bc55_ah_appid | HDL

hdfspath |文字列
|複製| int
|変更時刻|文字列
| |アクセス文字列
|推奨ブロックサイズ| int
| blockscount | int
|ファイルサイズ| bigint
| nsquota | bigint
| dsquota | bigint
|許可x |文字列
|ユーザーx |文字列
|グループ文字列

私は、ファイルサイズを持つだけでは/ tmp、/データを照会する方法を知った後、第2レベル(は/ tmp /ハイブ)(/データ/ LZ)、ファイルサイズ

私は何かを作成して、後続のレベルに移動する必要があります例: substr(hdfspath、2、instr(substr(hdfspath、2)、 '/') - 1)ゾーン、 合計(ファイルサイズ) group by substr(hdfspath、2、instr(substr hdfspath、2)、 '/') - 1);

しかし、データサイズが与えられていないファイルサイズはすべてバイトです。

答えて

0

このジョブは、ヒープメモリエラーのために失敗しています。 hdfs oivコマンドを実行する前にヒープサイズを増やしてください。コマンドがまだ失敗する場合は

export HADOOP_OPTS="-Xmx4096m" 

あなたはより多くのメモリを持っており、上記の環境変数を使用してヒープメモリを増やす別のマシン/サーバへfsimageを移動する必要がある場合があります。

0
select joinedpath, sumsize 
from 
(
select joinedpath,round(sum(filesize)/1024/1024/1024,2) as sumsize 
from 
(select concat('/',split(hdfspath,'\/')[1]) as joinedpath,accesstime,filesize, userx 
from default.hdfs_meta_d 
)t 
where joinedpath != 'null' 
group by joinedpath 
)h 

上記のクエリを確認してください、それはあなたを助けることができます!

+1

詳細を追加してください –

+0

今、誰もこのSQLにしたいですか? – jhonshonjs

関連する問題