[HADOOP] 어떻게 하이브 데이터와 메타 스토어 의사 소통을하고 서로 통합?
HADOOP어떻게 하이브 데이터와 메타 스토어 의사 소통을하고 서로 통합?
나는 / 하둡 하이브에 새로운 오전. 나는 / 감시 문서화, HDFS는 하둡이 내부적으로 어떻게 작동하는지 하이브에 관련 동영상을 참조하십시오. 하지만 난 여전히 바로 박쥐 몇 가지를 이해할 수 없었다. w.k.t 하이브 데이터 HDFS 및 테이블 구조 (스키마)에 파일 메타 스토어에 저장으로 저장된다.
생각 오프 것 하이브 데이터 파일의 모습,
students.txt
-------------
1 abc m@gmail.com
-------------------
2 xyz@ymail.com
---------------
위의 파일은 스키마를 저장하지 않습니다. 따라서 S_ID 2 학생, 이름이 저장되지 않습니다. 그 일이 어떻게 캡처? 때 쿼리가 실행됩니다? 나는 xyz@gmail.com가 STUDENT_NAME 필드 아래에 통합 될 것입니다 생각하지 않습니다. 하지만 여전히 통합이 일어나는 방법을 알고 싶습니다?
해결법
-
==============================
1.에 대한 이해 "하이브 데이터는 HDFS와 테이블 구조 (스키마)에서 파일 메타 스토어에 저장됩니다로 저장됩니다." 맞다. 그러나 스키마에 추가하여, 메타 스토어는 테이블 데이터가 저장되는 HDFS 디렉토리 정보가 있습니다. 이 HDFS 경로 정보는 실행시 쿼리에 의해 사용된다.
에 대한 이해 "하이브 데이터는 HDFS와 테이블 구조 (스키마)에서 파일 메타 스토어에 저장됩니다로 저장됩니다." 맞다. 그러나 스키마에 추가하여, 메타 스토어는 테이블 데이터가 저장되는 HDFS 디렉토리 정보가 있습니다. 이 HDFS 경로 정보는 실행시 쿼리에 의해 사용된다.
여러분의 이해와 내 검증 / 답변 :
년도 : 올바른
년 :
텍스트 구조 또는 열 거기에 이름하지만 데이터 만이 없습니다 테이블의 일부가되는 HDFS에 저장되어있는 사람들을 파일과 같은 파일. 테이블이 작성 될 때, 우리는 명확하게 열과 어떻게이 텍스트 파일에 저장되고 언급해야합니다. ,의 2 열과 쉼표로 구분 된 데이터는 아래와 같은 쿼리를해야합니다 가정 해 봅시다
create table default.column_test (name string, email string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
따라서 데이터 파일 즉 상기 HDFS 경로 텍스트 파일 본 아래의 데이터 포맷을 가져야한다.
alpha,alpha@email.com beta,beta@email.com
데이터가 SELECT 쿼리를 사용하여이 테이블에서 쿼리하면 쿼리가 처음 컴파일 얻을 것이다 및 실행은 하이브 메타 스토어에서 파생 된 HDFS 경로의 데이터에 발생합니다.
SELECT * FROM column_test; column_test.name column_test.email 1 Alpha alpha@email.com 2 Beta beta@email.com
파일의 데이터가 열 이름에 값이없는 경우 (아래처럼)
alpha@email.com beta,beta@email.com
다음 SELECT 쿼리는 열 "이름"의 값으로 'alpha@email.com'을 고려하고 첫 번째 레코드의 열 "이메일"의 값으로 NULL을 반환합니다. 출력은 다음과 같이 표시됩니다
SELECT * FROM column_test; column_test.name column_test.email 1 alpha@email.com NULL 2 Beta beta@email.com
희망이 도움이!
from https://stackoverflow.com/questions/55452857/how-hive-data-and-metastore-communicate-and-integrate-with-each-other by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하둡 다중 노드 클러스터에서 HDFS 데몬을 시작하는 오류 (0) | 2019.09.29 |
---|---|
[HADOOP] HDFS에서 일부 파일의 이름 지정 규칙 (0) | 2019.09.29 |
[HADOOP] 하이브 : 분할 문자열을 사용하여 정규 표현식 (0) | 2019.09.29 |
[HADOOP] 하둡 copyFromLocal의 메모리 문제 아웃 (0) | 2019.09.29 |
[HADOOP] (모든 솔루션을 시도한 후) 호스트 OS에서 샌드 박스에서 카프카 액세스 (0) | 2019.09.29 |