【发布时间】:2017-05-24 10:42:29
【问题描述】:
我是大数据的初学者,我们正在使用 sqoop 和 Cloudera 管理将视图从 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
到目前为止进展顺利,有些大板有点慢。
问题:我们必须迁移更大表的视图,这会导致问题,我们认为 hive 无法承受负载。
对加载此信息有何建议?
注意:我们想到了只复制表然后尝试构建视图的选项,但是视图对表属性进行了复杂的修改和繁重的计算,在我们的例子中,在 impala 中创建这个非常复杂。
【问题讨论】:
-
在
HDFS上创建视图是一种开销。我们还将整个视图作为表导入 Hive。可用于提高性能的优化技术很少。