복붙노트

[HADOOP] Hive에 항아리를 포함하는 방법 (Amazon Hadoop env)

HADOOP

Hive에 항아리를 포함하는 방법 (Amazon Hadoop env)

Hive에 최신 protobuf jar (2.5.0 이상)를 포함시켜야합니다. 어쨌든 항아리를 어디에 두든 상관없이 클래스 패스의 끝으로 밀려났습니다. 항아리가 Hive의 클래스 경로 시작 부분에 있는지 어떻게 확인할 수 있습니까?

해결법

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

    1.클래스 경로의 시작 부분에 포함되어 있고 일부 hadoop jar에 의해 오버로드되지 않도록 Hive 클래스 경로에 자신의 jar를 추가하려면 다음 Env 변수를 설정해야합니다.

    클래스 경로의 시작 부분에 포함되어 있고 일부 hadoop jar에 의해 오버로드되지 않도록 Hive 클래스 경로에 자신의 jar를 추가하려면 다음 Env 변수를 설정해야합니다.

    이는 HADOOP_CLASSPATH가 일반 hadoop jar보다 우선 순위를 갖음을 나타냅니다.

    Amazon emr 인스턴스에서이를 /home/hadoop/conf/hadoop-env.sh에 추가하고이 파일의 클래스 경로를 수정할 수도 있습니다.

    이것은 hadoop 일반 클래스 경로와 함께 제공되는 protobuf와 같은 항아리를 오버로드하려는 경우에 유용합니다.

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

    2.당신이 고려할 다른 것은 항아리에 protobuf 클래스를 포함시키는 것입니다. 어셈블리 플러그인을 사용하여 jar을 빌드해야합니다.이 플러그인은 해당 클래스를 포함합니다. 옵션입니다.

    당신이 고려할 다른 것은 항아리에 protobuf 클래스를 포함시키는 것입니다. 어셈블리 플러그인을 사용하여 jar을 빌드해야합니다.이 플러그인은 해당 클래스를 포함합니다. 옵션입니다.

  3. from https://stackoverflow.com/questions/38694271/how-to-include-jars-in-hive-amazon-hadoop-env by cc-by-sa and MIT license