1. 程式人生 > >Spark SQL 訪問hive 出現異常:org.datanucleus.exceptions.NucleusDataStoreException

Spark SQL 訪問hive 出現異常:org.datanucleus.exceptions.NucleusDataStoreException

異常:

org.datanucleus.exceptions.NucleusDataStoreException: Exception thrown obtaining schema column information from datastore

出現問題原因:
 1、hive-site.xml 中配置的是
     <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>
    而com.mysql.cj.jdbc.Driver 需要的是6.0以上的版本,因此pom.xml檔案使用的配置如下:
   <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>6.0.6</version>
    </dependency>
解決方法,通過網上搜索:
https://stackoverflow.com/questions/45098841/how-to-use-hive-metastore-with-mysql-for-thrift-server-or-spark-shell/45105368#45105368
建議把版本從6.0.6改為5.1.36,因此修改了hive-site.xml的配置為:
     <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
pom.xml中的mysql-connector-java版本改為5.1.36就正常了。