복붙노트

[HADOOP] 하이브는 듀얼과 비슷한 것을 가지고 있습니까?

HADOOP

하이브는 듀얼과 비슷한 것을 가지고 있습니까?

같이 진술을하고 싶습니다.

SELECT date_add ( '2008-12-31', 1) FROM DUAL

Hive (Amazon EMR에서 실행 중)가 비슷한 기능을 가지고 있습니까?

해결법

  1. ==============================

    1.아직 : https://issues.apache.org/jira/browse/HIVE-1558

    아직 : https://issues.apache.org/jira/browse/HIVE-1558

  2. ==============================

    2.가장 좋은 해결책은 테이블 이름은 말할 것도 없습니다.

    가장 좋은 해결책은 테이블 이름은 말할 것도 없습니다.

    select 1+1;
    

    그 결과 2.를줍니다.하지만 가난한 하이브는 이것을 찾기 위해 맵 감소를 스폰해야합니다!

  3. ==============================

    3.링크에는 유용한 솔루션 (잘 해결할 수있는 방법)이 있지만 생각만큼 느립니다.

    링크에는 유용한 솔루션 (잘 해결할 수있는 방법)이 있지만 생각만큼 느립니다.

    아이디어는 더미 필드가있는 테이블을 만들고 내용이 'X'인 텍스트 파일을 만들고 해당 텍스트를 해당 테이블에로드한다는 것입니다. 비올라.

    CREATE TABLE dual (dummy STRING);
    
    load data local inpath '/path/to/textfile/dual.txt' overwrite into table dual;
    
    SELECT date_add('2008-12-31', 1) from dual;
    
  4. ==============================

    4.하이브에 하나의 열과 하나의 행이있는 이중 테이블을 만들려면 다음을 수행 할 수 있습니다.

    하이브에 하나의 열과 하나의 행이있는 이중 테이블을 만들려면 다음을 수행 할 수 있습니다.

    create table dual (x int);
    insert into table dual select count(*)+1 as x from dual;
    

    표현식 테스트 :

    select split('3,2,1','\\,') as my_new_array from dual;
    

    산출:

    ["3","2","1"]
    
  5. ==============================

    5.빠른 해결책 :

    빠른 해결책 :

    기존 테이블을 사용하여 쿼리를 수행하여 이중 기능을 구현할 수 있습니다.

    SELECT date_add('2008-12-31', 1) FROM <Any Existing Table> LIMIT 1
    

    예 :

    SELECT CONCAT('kbdjj','56454') AS a, null AS b FROM tbl_name LIMIT 1
    

    결과

    쿼리의 "제한 1"은 지정된 값 (kbdjj56454, null)이 여러 번 나오는 것을 방지하는 데 사용됩니다.

  6. ==============================

    6.Hive는 현재이 기능을 지원하고 있으며 다른 많은 날짜 기능도 지원합니다.

    Hive는 현재이 기능을 지원하고 있으며 다른 많은 날짜 기능도 지원합니다.

    하이브에서 다음과 같은 쿼리를 실행하면 첫 번째 인수에 제공된 날짜가 추가됩니다.

    SELECT DATE_ADD ( '2019-03-01', 5);

    하이브 날짜 함수

  7. from https://stackoverflow.com/questions/9795668/does-hive-have-something-equivalent-to-dual by cc-by-sa and MIT license