私はBig Dataの初心者です。sqoopを使用してOracleからHiveへ、そしてCloudera administrationを使用して、使用しているコマンドの例を移行しています。Sqoopを使用してOracleからHiveにビューを移行する
sqoop import -D mapred.child.java.opts="\-Djava.security.egd=file:/my_url" \
-D mapreduce.map.memory.mb=9192 -D mapreduce.map.java.opts=-Xmx4096m \
--connect jdbc:oracle:thin:@//my_url --username "my_user" \
--password "my_password" --table my_view_name --compress \
--compression-codec=snappy --as-parquetfile \
--create-hive-table --hive-database my_db_name \
--hive-table our_table_anme --hive-import \
-m 8 --hive-overwrite \
--map-column-java column_name=String,column_name=String,column_name=String,column_name=Float --split-by cloumn_name
は、これまでのところ、それはいくつかの大きなボードと少し遅い、うまくいきました。
問題:より大きなテーブルでビューを移行する必要があり、問題が発生し、ハイブが負荷に耐えられないと考えられます。
この情報を読み込むための任意の提案はありますか?
注:テーブルのみをコピーしてビューを作成しようとすると、ビューがテーブルの属性や重い計算に複雑な変更を加え、インパラでこれを作成することは非常に複雑です。
「HDFS」でのビューの作成は、オーバーヘッドのようなものです。 Hiveではビュー全体をテーブルとしてインポートしています。パフォーマンスを向上させるために使用できる最適化手法はほとんどありません。 –