如何优化sqoop导入?

ffx8fchx  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(317)

有哪些技术可以用来优化sqoop导入?我尝试使用按列拆分来启用并行性,并根据表的数据量增加Map器的数量。从先进先出(fifo)到公平调度(fair scheduler)会有所帮助吗?提前谢谢!

sqoop import -D mapred.job.queue.name=$queuename -D mapred.job.name=$table_SQOOP_INITIAL_LOAD -D java.security.egd=file:/dev/../dev/urandom -D mapred.child.java.opts=" -Djava.security.egd=file:/dev/../dev/urandom" --driver com.teradata.jdbc.TeraDriver --connect jdbc:teradata://${sqoopSourceServer}/DATABASE=${sqoopSchema} --username ${sqoopUsername} --password ${sqoopPassword} --hive-import --hive-overwrite --hive-drop-import-delims --null-string '\\N' --null-non-string '\\N' --table  "$table" --num-mappers 50  --split-by column --target-dir ${hdfsTargetDirectory}$table  --hive-table ${hive_database}.$table
xzlaal3s

xzlaal3s1#

我没试过,但我读过书
对于某些数据库,可以使用--direct参数来利用direct模式:

sqoop import \
--connect jdbc:mysql://mysql.example.com/sqoop \
--username sqoop \
--table cities \
--direct

希望这有帮助

0g0grzrc

0g0grzrc2#

下面是一些常见的sqoop性能改进技术
按和边界拆分查询
直接的
获取大小
数字Map器
参考链接

相关问题