# Q: 数据加工-ORC输出组件获取字段,报错org.xml.sax.SAXParseException; Premature end of file.
java.lang.RuntimeException: Failed to create HiveMetaStoreClient
at com.primeton.dataworkshop.di.service.DataBaseService.createHiveMetaStoreClient(DataBaseService.java:1268) ~[com.primeton.dataworkshop.di-7.0.2.jar!/:na]
at com.primeton.dataworkshop.di.service.DataBaseService.createHiveMetaStoreClient(DataBaseService.java:1277) ~[com.primeton.dataworkshop.di-7.0.2.jar!/:na]
at com.primeton.dataworkshop.di.service.DataBaseService.getHiveTableFields(DataBaseService.java:1165) ~[com.primeton.dataworkshop.di-7.0.2.jar!/:na]
at com.primeton.dataworkshop.di.service.DataBaseService$$FastClassBySpringCGLIB$$d1847508.invoke(<generated>) ~[com.primeton.dataworkshop.di-7.0.2.jar!/:na]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.35.jar!/:5.3.35]
..........省略.........
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: org.xml.sax.SAXParseException; Premature end of file.
at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2106) ~[hadoop-common-2.6.0.jar:na]
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.loadFilterHooks(HiveMetaStoreClient.java:234) ~[hive-metastore-1.1.0.jar:1.1.0]
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:186) ~[hive-metastore-1.1.0.jar:1.1.0]
at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:175) ~[hive-metastore-1.1.0.jar:1.1.0]
at com.primeton.dataworkshop.di.service.DataBaseService.createHiveMetaStoreClient(DataBaseService.java:1263) ~[com.primeton.dataworkshop.di-7.0.2.jar!/:na]
# A:检查hive相关的配置文件,文件是否完整、格式是否正确,将正确格式文件重新上传至大数据相关路径,具体参考Primeton DI安装指南。如hive-site.xml如下错误格式
<?xml version="1.0" encoding="utf-8"?><configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master01-n21egh1:3306/metastore?useSSL=false</value>
<descrilption>JDBC connect string for a JDBC metastore</descrilption>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
..........省略.........
<property>
<name>hive.service.metrics.file.frequency</name>
<value>30000</value>
</property>
</configuration>
正确格式如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master01-n21egh1:3306/metastore?useSSL=false</value>
<descrilption>JDBC connect string for a JDBC metastore</descrilption>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
..........省略.........
<property>
<name>hive.service.metrics.file.frequency</name>
<value>30000</value>
</property>
</configuration>