我正在使用汇合将数据从kafka导入hive,试图做同样的事情:基于时间的桶记录(kafka-hdfs-connector)
我的接收器配置是这样的:
{
"name":"yangfeiran_hive_sink_9",
"config":{
"connector.class":"io.confluent.connect.hdfs.HdfsSinkConnector",
"topics":"peoplet_people_1000",
"name":"yangfeiran_hive_sink_9",
"tasks.max":"1",
"hdfs.url":"hdfs://master:8020",
"flush.size":"3",
"partitioner.class":"io.confluent.connect.hdfs.partitioner.TimeBasedPartitioner",
"partition.duration.ms":"300000",
"path.format":"'year'=YYYY/'month'=MM/'day'=dd/'hour'=HH/'minute'=mm/",
"locale":"en",
"logs.dir":"/tmp/yangfeiran",
"topics.dir":"/tmp/yangfeiran",
"hive.integration":"true",
"hive.metastore.uris":"thrift://master:9083",
"schema.compatibility":"BACKWARD",
"hive.database":"yangfeiran",
"timezone": "UTC",
}
}
一切正常,我可以看到数据在 hdfs 中,表是在 hive 中创建的,除非我使用“select * from yang”检查数据是否已经在 hive 中。
它打印错误:
失败:SemanticException 无法确定 hdfs://master:8020/tmp/yangfeiran/peoplet_people_1000 是否已加密:java.lang.IllegalArgumentException:错误的 FS:hdfs://master:8020/tmp/yangfeiran/peoplet_people_1000,预期:hdfs: //nsstargate
如何解决这个问题呢?
飞然