如何优化sqoop导入?

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

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

  1. 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模式:

  1. sqoop import \
  2. --connect jdbc:mysql://mysql.example.com/sqoop \
  3. --username sqoop \
  4. --table cities \
  5. --direct

希望这有帮助

0g0grzrc

0g0grzrc2#

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

相关问题