我正在尝试为Hadoop(hdfs)和Apache Drill制作存储插件。 其实我很困惑,我不知道要为hdfs://连接设置端口以及设置位置。 这是我的插件:在Apache Drill上制作存储插件到HDFS
{
"type": "file",
"enabled": true,
"connection": "hdfs://localhost:54310",
"workspaces": {
"root": {
"location": "/",
"writable": false,
"defaultInputFormat": null
},
"tmp": {
"location": "/tmp",
"writable": true,
"defaultInputFormat": null
}
},
"formats": {
"psv": {
"type": "text",
"extensions": [
"tbl"
],
"delimiter": "|"
},
"csv": {
"type": "text",
"extensions": [
"csv"
],
"delimiter": ","
},
"tsv": {
"type": "text",
"extensions": [
"tsv"
],
"delimiter": "\t"
},
"parquet": {
"type": "parquet"
},
"json": {
"type": "json"
},
"avro": {
"type": "avro"
}
}
}
那么,是TI正确设置本地主机:54310,因为我得到了与命令:
hdfs -getconf -nnRpcAddresses
,或者是:8020?
第二个问题,我需要设置位置?我的Hadoop文件夹是:
/usr/local/hadoop
,在那里你可以找到在/ etc /斌/ lib中/日志......所以,我需要对我的数据节点设置位置,还是?
第三个问题。当我连接到钻,我经历sqlline,比连接上我的饲养员像:这里
!connect jdbc:drill:zk=localhost:2181
我的问题是,当我做存储插件,当我连接与ZK来钻去,我可以查询hdfs文件吗?
如果这是一个noob问题,我很抱歉,但我没有在互联网上找到任何有用的东西,或者至少它没有帮助我。 如果你能解释我一些东西,我会非常感激。
嗯,同时我做了hadoop多节点集群。但是,我仍然无法查询hdfs文件夹。我检查了我的* core-site.xml *并在连接站点:'hdfs:// hadoop-master:9000'。我去了apache drill * dfs *插件和*连接*我写了完全一样的行。我还在hdfs中制作了文件夹,并将其命名为** parquet **。当我试图从钻取查询时,这是我的查询:'SELECT * FROM dfs。'/ parquet/file.parquet';'我得到这个错误: *查询失败:PARSE ERROR: ,列21 1号线,列23:表 'dfs./file.parquet' 未找到 [wq9u34jnj1223在Hadoop主:31010] –
@Superbrain_bug检查我的回答的最后一道防线。它的'符号不是单引号(')现在试试:'''SELECT * FROM dfs.' /拼花/ file.parquet';''' –
是啊是啊,我一直在用他,我想念打字,我SRY 此外,当我试图使用'与HDFS SHOW FILES'://配置,我得到了这样的错误:**查询失败:系统错误:故障处理SQL ** 但是,我可以切换模式。 –