我正在尝试将数据从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/环境,眩晕为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
1条答案
按热度按时间gdrx4gfi1#
我刚刚从my.vertica.com的下载页面下载了hadoop connector for mapreduce。我选择了2.0版本(支持CDH4),因为你说的是hadoop版本。
我在下载的文件(yarn-vertica\u 1.6.0.zip)中查看了hadoop-vertica.jar文件,它的类文件位于正确的位置(com.vertica.hadoop.deprecated)。zip文件还包含源代码,因此您可以检查它。
我不知道org.apache.hadoop.vertica.verticastreaminginput来自何处,但下载连接器的新副本应该可以解决您的问题。确保下载jdbc驱动程序并执行文档中描述的其他java配置。