[HADOOP] 아파치 드릴에 HDFS에 저장 플러그인 만들기
HADOOP아파치 드릴에 HDFS에 저장 플러그인 만들기
나는 하둡 (HDFS)에 저장 플러그인 및 아파치 드릴 수 있도록 노력하고있어. 사실은 내가 혼란 그리고 난 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"
}
}
}
54310을 내가 가지고 있기 때문에 그 명령 : 그래서, 그것은 올바른 localhost를 설정하는 것입니다 :
hdfs -getconf -nnRpcAddresses
또는이다 : 8020?
두 번째 질문, 나는 위치를 설정하려면 어떻게해야합니까? 내 하둡 폴더에 있습니다 :
/usr/local/hadoop
거기서 찾을 수 있습니다은 / etc / 빈 / lib 디렉토리 / 로그 ... 그래서, 내 데이터 노드에 위치를 설정해야하거나합니까?
세 번째 질문입니다. 내가 드릴에 연결 해요 때, 나는 sqlline 통해처럼 내 사육사에 연결하는 것보다거야 :
!connect jdbc:drill:zk=localhost:2181
내가 저장 플러그인을 한 후에 내가 ZK와 드릴에 연결하면 내 질문은 여기에 내가 HDFS는 파일을 조회 할 수있다?
이 멍청한 놈 질문입니다하지만 인터넷에서 유용하거나 적어도 나에게 도움이되지 않은 아무것도 찾을하지 않은 경우 정말 죄송합니다. 당신은 내게 몇 가지 물건을 설명 할 수 있다면, 나는 매우 감사하게 될 것입니다.
해결법
-
==============================
1.드릴 문서에 따라,
드릴 문서에 따라,
{ "type" : "file", "enabled" : true, "connection" : "hdfs://10.10.30.156:8020/", "workspaces" : { "root" : { "location" : "/user/root/drill", "writable" : true, "defaultInputFormat" : null } }, "formats" : { "json" : { "type" : "json" } } }
'연결',
네임 노드 서버 주소를 넣어.
이 주소에 대한 확실하지 않은 경우. 코어를 site.xml에 fs.default.name 또는 fs.defaultFS 속성을 확인하십시오.
"작업 공간"오는,
당신이에서 작업 공간을 절약 할 수 있습니다. 위의 예에서 이름 루트 및 위치 / 사용자 / 루트 / 드릴 작업 공간이있다. 이것은 당신의 HDFS 위치입니다.
당신이 / 사용자 / 루트 / 드릴 HDFS 디렉토리에 파일이있는 경우, 당신은이 작업 공간 이름을 사용하여 조회 할 수 있습니다.
예 : ABC는이 디렉토리 아래에있다.
select * from dfs.root.`abc.csv`
성공적으로 플러그인을 만든 후에는 훈련을 시작하고 쿼리를 시작할 수 있습니다.
당신은 작업 공간에 관계없이 임의의 디렉토리를 조회 할 수 있습니다.
당신은 / tmp를 / 데이터 HDFS 디렉토리에 employee.json을 조회 할 말.
쿼리는 다음과 같습니다
select * from dfs.`/tmp/data/employee.json`
-
==============================
2.나는 비슷한 문제를 가지고 드릴 DFS 서버를 읽을 수 없습니다. 마지막으로, 문제는 네임 노드 포트에 의한 원인이다. // 로컬 호스트 : 50070 / 네임 노드 웹 UI의 기본 주소는 HTTP입니다.
나는 비슷한 문제를 가지고 드릴 DFS 서버를 읽을 수 없습니다. 마지막으로, 문제는 네임 노드 포트에 의한 원인이다. // 로컬 호스트 : 50070 / 네임 노드 웹 UI의 기본 주소는 HTTP입니다.
네임 노드 서버의 기본 주소는 HDFS입니다 : // localhost를 : 8020 /.
from https://stackoverflow.com/questions/39245542/making-storage-plugin-on-apache-drill-to-hdfs by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 내가 어떻게 boto3 사용하여 EMR 클러스터를 기존의 보안 구성을 적용합니까? (0) | 2019.10.21 |
---|---|
[HADOOP] 스파크는 피닉스을 확보하기 위해 연결할 수 없습니다 (0) | 2019.10.21 |
[HADOOP] 스파크 스트리밍 작업에 broadcast_1의 broadcast_1_piece0를 가져 오지 못했습니다 (0) | 2019.10.21 |
[HADOOP] 중복 된 항목을 삽입 Sqoop을 수출 (0) | 2019.10.21 |
[HADOOP] 클라우 데라에서 실행되지 단어 수 (0) | 2019.10.21 |