有个连接数据库的jar包用来驱动
2.连接数据库,具体代码网上有,主要就是设置数据库类型,名字,用户名,密码之类的
3.调用连接,写入数据,
Connection con=new Connection()
String sql="insert into 表名 (列名1,列名2) values(值1,值2)"
PreparedStatement ps=con.getPerpareStatment()
这是一个很容易出现的问题,网上很多内容将mysql驱动包上传到不对的路径导致出现问题。
cloudera manager添加hive时报错找不到jdbc driver
报错
JDBC driver cannot be found. Unable to find the JDBC database jar on host
把包放入这个目录,注意文件名要保持一致 网上又很多需要把这个驱动包放到
cp /root/mysql-connector-java-5.1.33-bin.jar /opt/cloudera/parcels/CDH-5.4.0-1.cdh5.4.0.p0.27/lib/hive/lib/
/opt/cloudera/parcels/CDH/lib/hive/lib或者
/opt/cloudera/parcels/CDH-5.4.0-1.cdh5.4.0.p0.27/lib/hive/lib
以上其实是同一个位置
*** 作后问题依旧出现。
解决方法:
后来在网上找到需要将这个包放到这个路径下就通过了(名字需要修改下)
/usr/share/java/mysql-connector-java.jar
修改 hive 的元数据库需要修改 hive-site.xml配置文件,比如我们使用mysql数据库修改其配置如下所示:<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>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://dajiangtai.com:3306/hive?characterEncoding=UTF-8</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>Username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)