Hadoop

Spark를 이용한 hive 접근

집못가는프로그래머 2021. 9. 23. 17:56

1. hive-site.xml에 추가

<property>
    <name>hive.metastore.uris</name> 
    <value>thrift://localhost:9083</value> 
</property>
<property>
    <name>spark.sql.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
</property>

 

 

2. hive --service metastore 

(metastore가 있는 디렉토리에서 실행)

metastore 서버를 실행함

hive가 아닌곳에서의 접근을 위함

접근 경로는 위에 추가한 <name>과 <value>의 

hive.metastore.uris를 thrift://localhost:9073에서 돌린다는 의미이므로

<name>과 <value>에 작성한 값을 참고하면 된다

 

 

3. 

sparkSession = (SparkSession.builder.appName("pyspark-hivemetastore7")\
          .config('hive.metastore.uris', 'thrift://localhost:9083')
          .enableHiveSupport()
          .getOrCreate())

 

Spark에서 Hive 접속 및 지원을 위해서

1) .config('hive.metastore.uris','thrift://localhost:9083')  << 외부(spark)에서의 hive 접근, 1번에서 지정해준 <name>과 <value>

2) .enableHiveSupport() 속성을 추가  << Spark에서 Hive 지원