[HADOOP] Spark 통합 테스트를위한 Hive 구성
HADOOPSpark 통합 테스트를위한 Hive 구성
테이블이 임시 디렉토리 또는 테스트 루트 아래에 작성되도록 Hive for Spark SQL 통합 테스트를 구성하는 방법을 찾고 있습니다. 내 조사에 따르면 HiveContext를 만들기 전에 fs.defaultFS와 hive.metastore.warehouse.dir을 모두 설정해야합니다.
이 답변에서 언급 한 것처럼 후자를 설정하면 Spark 1.6.1에서 작동하지 않습니다.
val sqlc = new HiveContext(sparkContext)
sqlc.setConf("hive.metastore.warehouse.dir", hiveWarehouseDir)
테이블 메타 데이터는 올바른 위치에 있지만 작성된 파일은 / user / hive / warehouse로 이동합니다.
데이터 프레임이 명확한 경로없이 저장된 경우 (예 :
df.write.saveAsTable("tbl")
파일을 쓸 위치는 HiveContext 생성 중에 캐시 된 것처럼 보이는 기본 데이터베이스의 위치를 사용하는 HiveMetastoreCatalog.hiveDefaultTableFilePath에 대한 호출을 통해 결정되므로 HiveContext 생성 후 fs.defaultFS를 설정해도 아무런 영향이 없습니다.
또한 통합 테스트와 관련이 있지만 DROP TABLE tbl은 테이블 메타 데이터 만 제거하고 테이블 파일은 남겨두고 예상치 못한 결과를 초래합니다. 이것은 알려진 문제이며 (여기 및 여기 참조) 해결책은 hive.metastore.warehouse.dir == fs.defaultFS + user / hive / warehouse를 확인하는 것입니다.
간단히 말해 HiveContext 생성자가 실행되기 전에 fs.defaultFS 및 hive.metastore.warehouse.dir과 같은 구성 속성을 프로그래밍 방식으로 설정할 수 있습니까?
해결법
-
==============================
1.Spark 2.0에서는 SparkSession을 만들기 전에 SparkSession 빌더에서 "spark.sql.warehouse.dir"을 설정할 수 있습니다. 올바르게 전파되어야합니다.
Spark 2.0에서는 SparkSession을 만들기 전에 SparkSession 빌더에서 "spark.sql.warehouse.dir"을 설정할 수 있습니다. 올바르게 전파되어야합니다.
Spark 1.6의 경우 프로그래밍 방식으로 hite-site.xml을 만드는 것이 가장 좋습니다.
-
==============================
2.spark-testing-base 라이브러리에는 DataFrameSuiteBaseLike 설정의 일부로 구성된 TestHiveContext가 있습니다. 어떤 이유로 scala-testing-base를 직접 사용할 수없는 경우에도 구성이 어떻게 작동하는지 확인할 수 있습니다.
spark-testing-base 라이브러리에는 DataFrameSuiteBaseLike 설정의 일부로 구성된 TestHiveContext가 있습니다. 어떤 이유로 scala-testing-base를 직접 사용할 수없는 경우에도 구성이 어떻게 작동하는지 확인할 수 있습니다.
from https://stackoverflow.com/questions/37061544/hive-configuration-for-spark-integration-tests by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hdfs에서 CSV 파일을 읽는 방법은 무엇입니까? (0) | 2019.08.16 |
---|---|
[HADOOP] 하둡 스트리밍 : 맵당 단일 파일 또는 다중 파일. 분할하지 마십시오 (0) | 2019.08.15 |
[HADOOP] 압축 출력 스케일링 / 캐스 케이 딩 Tsv (0) | 2019.08.15 |
[HADOOP] hadoop에서 시스템 속성을 맵 함수에 전달하는 방법 (0) | 2019.08.15 |
[HADOOP] build.sbt에서 구아바가 제대로 음영 처리되지 않는 이유는 무엇입니까? (0) | 2019.08.15 |