복붙노트

[HADOOP] 환경 변수를 Hive Transform 또는 MapReduce로 전달

HADOOP

환경 변수를 Hive Transform 또는 MapReduce로 전달

Hive Transform에 사용되는 실행 파일 (아래 예제의 my-mapper.script)에 사용자 정의 환경 변수를 전달하려고합니다. 예 :

SELECT
   TRANSFORM(x, y, z)
   USING 'my-mapper.script'
FROM
(
   SELECT
      x, y, z
   FROM
      table
)

하둡 스트리밍에서 이것을 사용하여 달성 할 수 있음을 알고 있습니다.

-cmdenv EXAMPLE_DIR=/home/example/dictionaries/

그러나 Hive Transform / MapReduce 에서이 작업을 수행하는 방법을 모르겠습니다.

어떤 아이디어?

해결법

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

    1.간단한 2 행 bash 스크립트로 스크립트를 래핑하여 환경을 설정할 수 있습니다. 예 :

    간단한 2 행 bash 스크립트로 스크립트를 래핑하여 환경을 설정할 수 있습니다. 예 :

    #!/bin/sh
    export FOO=boo
    my-mapper.script
    

    그런 다음 쿼리에서이 스크립트를 사용하십시오.

    USING 'wrapper.sh'
    

    my-mapper.script는 환경에서 FOO (값이 "boo")를 표시합니다.

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

    2.이런 것을 찾고 있습니까?

    이런 것을 찾고 있습니까?

    % hive -hiveconf CURRENT_DATE='2012-09-16' -f test.hql
    
  3. from https://stackoverflow.com/questions/16339123/pass-environment-variables-to-hive-transform-or-mapreduce by cc-by-sa and MIT license