【问题标题】:Error in sqoop scriptsqoop 脚本中的错误
【发布时间】:2015-06-04 23:51:33
【问题描述】:

我编写了 sqoop 脚本来将数据从 Teradata 导入 Hive。它运行正常,然后我在下面给出的脚本中添加了一个参数

--connection-manager org.apache.sqoop.teradata.TeradataConnManager

--connection-manager 参数究竟是做什么的?我查看了 sqoop 用户指南,但没有运气

这是我遇到的错误

`Error: java.lang.ClassNotFoundException: org.apache.hadoop.hive.serde2.SerDeException
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:190)
Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.fs.FileAlreadyExistsException): /user/temp_110710/part-m-00002 for client 10.2.68.12 already exists
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInternal(FSNamesystem.java:2309)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFileInt(FSNamesystem.java:2237)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startFile(FSNamesystem.java:2190)
    at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.create(NameNodeRpcServer.java:526)
    at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.create(ClientNamenodeProtocolServerSideTranslatorPB.java:354)
    at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
    at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)`

请推荐

【问题讨论】:

    标签: hadoop hive sqoop


    【解决方案1】:

    您似乎遇到了与连接管理器无关的异常。它抱怨文件已经存在于 HDFS 中。

    尝试从 HDFS 中删除 Hive 表位置的目录,例如:/user/hive/warehouse/students/),然后再次执行 sqoop。希望对您有所帮助。

    【讨论】:

    • 嘿我解决了这个问题..这是由于使用连接管理器而没有指定配置单元库..你能帮我了解连接管理器的确切用途吗?
    猜你喜欢
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    相关资源
    最近更新 更多