hadoop - vertica jar

标签 hadoop jar vertica

我正在尝试将数据从 Vertica 传输到 Hive。根据手册,应将以下设置为输入格式:

-inputformat com.vertica.hadoop.deprecated.VerticaStreamingInput 

但是 hadoop-vertica jar 有 org.apache.hadoop.vertica.VerticaStreamingInput 类而不是上面的类。

所以它抛出以下异常:

Exception in thread "main" java.lang.RuntimeException:
  class org.apache.hadoop.vertica.VerticaStreamingInput not
  org.apache.hadoop.mapred.InputFormat

完整的命令是:

$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-*.jar \  
-libjars $HADOOP_HOME/lib/hadoop-vertica.jar \   
-Dmapred.vertica.hostnames=VerticaHost \  
-Dmapred.vertica.database=ExampleDB \  
-Dmapred.vertica.username=ExampleUser \  
-Dmapred.vertica.password=password123 \  
-Dmapred.vertica.port=5433 \  
-Dmapred.vertica.input.query="SELECT * FROM allTypes ORDER BY key" \   
-Dmapred.vertica.input.delimiter=, \   
-Dmapred.map.tasks=1 \  
 -inputformat com.vertica.hadoop.deprecated.VerticaStreamingInput \  
 -input /tmp/input -output /tmp/output -reducer /bin/cat -mapper /bin/cat

Hive为CDH-4.4.0-1.cdh4.4.0.p0.39/环境,vertica为7.1

如果我有错误的 hadoop-vertica jar,我在哪里可以得到正确的?如果这不是问题所在,我做错了什么?

那么这个com.vertica.hadoop.deprecated.VerticaStreamingInput类是从哪里来的呢?我通过安装 Vertica 连接器获得它。(第 9 页,第 5 步)https://my.vertica.com/docs/7.0.x/PDF/HP_Vertica_7.0.x_HadoopIntegration.pdf

最佳答案

我刚刚从 the downloads page on my.vertica.com 下载了适用于 MapReduce 的 Hadoop 连接器.我使用的是 2.0 版本(支持 CDH 4),因为这是您所说的正在使用的 Hadoop 版本。

我查看了下载文件 (yarn-vertica_1.6.0.zip) 中的 hadoop-vertica.jar 文件,它的类文件位于正确的位置 (com.vertica.hadoop.deprecated)。该 zip 文件还包含源代码,因此您可以检查它。

我不知道 org.apache.hadoop.vertica.VerticaStreamingInput 是从哪里来的,但是下载连接器的新副本应该可以解决您的问题。确保下载 JDBC 驱动程序并执行文档中描述的其他 Java 配置。

关于hadoop - vertica jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30630030/

相关文章:

hadoop - 如何在 Java 中的 Storm Bolt 中使用 Hadoop FS API

hadoop - Apache Drill - 在文件存储插件中使用多个定界符?

java - 如何在eclipse中生成java项目的可执行文件

hadoop - Riemann Context for Hadoop 使用 metrics2 接口(interface)向 Riemann 发送指标

hadoop - WordCount版本的执行时间不同

java - jar无法访问资源文件夹

java - tempCodeRunnerFile.jar 中没有主要 list 属性

hadoop - 提高从 hdfs 导出 sqoop 的效率

python - 在python中创建一个临时表以与sql表连接

linux - 当上游发生错误时,如何从标准输入回滚 Vertica 副本?