gpt4 book ai didi

java - Sqoop导入中的Java堆大小错误

转载 作者:行者123 更新时间:2023-12-02 21:14:31 27 4
gpt4 key购买 nike

我一直在尝试使用Sqoop实用程序将数据从MySQL数据库导入Hive。我已经创建了表,并且将fetch-size设置为低至10。每次运行命令时,都会收到Java Heap Size Error,并且在4次尝试后作业被杀死。我怎样才能解决这个问题。

我的sqoop命令如下:

sqoop import --connect jdbc:mysql://my_local_ip/mydatabase --fetch-size 10  --username root -P --table table_name --hive-import --compression-codec=snappy --as-parquetfile  -m 1

我得到:
16/08/29 07:06:24 INFO mapreduce.Job: The url to track the job: http://quickstart.cloudera:8088/proxy/application_1472465929944_0013/
16/08/29 07:06:24 INFO mapreduce.Job: Running job: job_1472465929944_0013
16/08/29 07:06:47 INFO mapreduce.Job: Job job_1472465929944_0013 running in uber mode : false
16/08/29 07:06:47 INFO mapreduce.Job: map 0% reduce 0%
16/08/29 07:07:16 INFO mapreduce.Job: Task Id : attempt_1472465929944_0013_m_000000_0, Status : FAILED
Error: Java heap space
16/08/29 07:07:37 INFO mapreduce.Job: Task Id : attempt_1472465929944_0013_m_000000_1, Status : FAILED
Error: Java heap space
16/08/29 07:07:59 INFO mapreduce.Job: Task Id : attempt_1472465929944_0013_m_000000_2, Status : FAILED
Error: Java heap space
16/08/29 07:08:21 INFO mapreduce.Job: map 100% reduce 0%
16/08/29 07:08:23 INFO mapreduce.Job: Job job_1472465929944_0013 failed with state FAILED due to: Task failed task_1472465929944_0013_m_000000

最佳答案

试试看

sqoop import  -Dmapreduce.map.memory.mb=1024 -Dmapreduce.map.java.opts=-Xmx7200m -Dmapreduce.task.io.sort.mb=2400 --connect jdbc:mysql://local.ip/database_name --username root -P --hive-import --table table_name --as-parquetfile --warehouse-dir=/home/cloudera/hadoop --split-by 'id' -m 100

最初,我一直在使用10个映射器来处理1000万条记录,每个块的大小为100万条记录。这是导致错误的原因,当我触发100个映射作业时,它已成功处理了数据。我唯一注意到的是完成工作所花费的时间。运行所有100个mapper作业花费了将近1个小时。

关于java - Sqoop导入中的Java堆大小错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39208415/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com