복붙노트

[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. ==============================

    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
    

    희망이 도움이!

  2. from https://stackoverflow.com/questions/55452857/how-hive-data-and-metastore-communicate-and-integrate-with-each-other by cc-by-sa and MIT license