에서 하이브 등록 된 UDF를 사용하여 다음과 같은 : 예상 반환사용하여 직선을 통해 내가 하이브에서 UDF를 등록 불꽃
SELECT udfTest(name) from myTable;
을 다음과 같이
는CREATE FUNCTION udfTest AS 'my.udf.SimpleUDF' USING JAR 'hdfs://hostname/pathToMyJar.jar'
그 때 나는 직선에서 사용할 수 있습니다 결과.
나는 다음 스파크 쉘을 실행하고 실패 다음
sqlContext.sql("SELECT udfTest(name) from myTable")
를 실행합니다. 스택은 수백 라인 길이 (내가 여기에 붙여 넣기 할 수없는)하지만 핵심 부품은 다음과 같습니다
- org.apache.spark.repl.SparkIMain $ TranslatingClassLoader는 이는 java.net.URLClassLoader 캐스트 할 수없는 아무것도 눈에 띄는 경우 [/tmp/blarg/pathToMyJar.jar]
내가 자세한 내용을 제공 할 수 있습니다 등록 할 수 없습니다 : java.lang.IllegalArgumentException가 : default.udftest에 대한 자원을로드 할 수
Spark에서 하이브를 통해 등록 된 UDF를 사용할 수 있습니까?
스파크 버전 1.3.0
스파크 - 쉘을 실행할 때 실제 UDF 클래스에 대한 jar 클래스 경로를 알아야합니다. 이것은 응용 프로그램 런타임에 알 수없는 것입니다. 이 외에도 다른 방법이 있습니까? –
UDF Jar를 HDFS의 일부 디렉토리/경로에 복사 한 다음 spark-shell의 경로를 알 수 있습니다. – janeshs