错误的tool.ImportTool:导入失败:java.io.IOException:无法加载jar / tmp / sqoop-root /

时间:2019-05-11 07:15:27

标签: sqoop

当我运行以下sqoop合并导入以更新现有的现有Hive表时:

df.unstack().plot(kind='bar')
plt.show()

我明白了

<UserControl x:Class="Test.MyClass"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800"
             >
<Grid  Name="mygrid">

</Grid>


<!--Use this below the grid in case any control is passed in command parameter-->
<i:Interaction.Triggers>
        <i:EventTrigger EventName="Loaded">
            <i:InvokeCommandAction Command="{Binding myCommand}" 
                       CommandParameter = "{Binding ElementName=mygrid}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</UserControl>

“ ERROR tool.ImportTool:导入失败:java.io.IOException:无法加载jar”是什么意思?以及我该如何解决?

1 个答案:

答案 0 :(得分:0)

为什么在导入时生成codegen_BigDataTest.jar并尝试检查并提取jar codegen_BigDataTest.jar以检查生成的类(可能是codegen_BigDataTest.class)?

  

java.io.IOException:无法将jar /tmp/sqoop-root/compile/e913f7c459cf4e1cdb8a8d5802f1dac2/codegen_BigDataTest.jar加载到JVM中。 (找不到类BigDataTest。)

我在检查生成的jar文件中的类名后写了下面的内容,该文件名与生成的jar导致运行中的错误不同。

**Sample command:**

**<sqoop import>:**

sqoop import --connect jdbc:oracle:thin:@hostname:port:db --username test --password test123 --table TEST --incremental lastmodified --split-by COLUMN_NAME --merge-key COLUMN_NAME --check-column MODIFIED_DATE --target-dir /sqoop1/TEST 

**<sqoop create import job>:**
sqoop job --create job_test01 -- import --connect jdbc:oracle:thin:@hostname:port:db --username test --password test123 --table TEST --incremental lastmodified --split-by COLUMN_NAME --merge-key COLUMN_NAME --check-column MODIFIED_DATE --target-dir /sqoop1/TEST 

**<sqoop execute import job>:** This can be executed whenever you need to import data and can be scheduled for periodic execution.
sqoop job --exec job_test01

**<sqoop show import job parameter value>**: Below is shown the output of few top lines but it has very detailed information of your job. 
sqoop job --show job_test01
...
...
19/08/11 02:50:28 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.10.2
Enter password:
Job: job_test01
Tool: import
Options:
----------------------------
verbose = false
hcatalog.drop.and.create.table = false
incremental.last.value = 2019-08-11 02:27:43.0

如果您看到sqoop作业在自己的元数据存储中维护了last.value,该值将在下一次增量运行中使用。创建sqoop作业时,无需照顾last.value。