우리 파이프 라인 중 하나에서 spark (java)를 사용하여 집계를 수행하고 있으며 oozie를 사용하여 조정합니다. 이 파이프 라인은 집계 된 데이터를 다음 행을 사용하여 ORC 파일에 씁니다.ozzie에서 하이브 컨텍스트를 사용하지 않는 스파크 작업
HiveContext hc = new HiveContext(sc);
DataFrame modifiedFrame = hc.createDataFrame(aggregateddatainrdd, schema);
modifiedFrame.write().format("org.apache.spark.sql.hive.orc").partitionBy("partition_column_name").save(output);
는 oozie 작업의 점화 동작이 트리거됩니다 때 다음과 같은 예외를
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SparkMain], main() threw exception, org.apache.hadoop.hive.shims.HadoopShims.isSecurityEnabled()Z java.lang.NoSuchMethodError: org.apache.hadoop.hive.shims.HadoopShims.isSecurityEnabled()Z
을 던져 그러나 같은 워크 플로를 여러 번 다시 실행 후 성공지고 있습니다.
실행 시간과 컴파일 시간 모두에 필요한 모든 병이 제자리에 있습니다.
이것은 첫 번째 스파크 앱이며 문제를 이해할 수 없습니다.
누군가가 문제를 더 잘 이해하고 해결할 수 있도록 도와 줄 수 있습니까?
감사합니다 삼손 당신이 언급 한 무엇이 의미가 있습니다. 그러나 나는 그 방향으로 디버깅을 시작했습니다. 그러나 원사 로그에서 의심의 여지가 있습니다. 클래스 경로와 관련하여 두 가지를 볼 수 있습니다. 상단에 java.class.path가 있습니다. 다른 하나는 ClassPath Elements이고, 하나는 spark에 의해로드 될 것입니까? –
일치해야합니다 - 둘 다 Oozie 실행기 클래스의 디버그 추적입니다. –
감사합니다. samson! 항아리 실행 순서에 따라 문제가 발생했습니다. oozie.launcher.mapreduce.user.classpath.first를 사용하여 우선 순위를 설정했습니다. –