之前通过命令行的界面可以操作Hive,可是在实际的生产环境中,往往都是需要写API的,因此对Hive的API简单的列举了一下。并对Hive进行了一个简单的封装。具体的封装可以参考github网站主页:https://github.com/ljy2015/HiveUtil
在这个过程中,其本质上跟mysql和oracle之间没有大的差别,仅仅是有些细节方面不一样,但是这些细节不注意可能就会犯错,因此细节很重要。下面有几个问题需要在这边说明一下:
1、连接hive数据仓库的时候,是会区分HiveServer1和HiveServer2的,因此对应的驱动名称和jdbc的URL字符串名称也有所不同。下面可以参考一下
针对hive1:
hive driver class:org.apache.hadoop.hive.jdbc.HiveDriver
URL: jdbc:hive://192.168.27.233:10000/default
针对hive2:
hive driver class:org.apache.hive.jdbc.HiveDriver
URL:jdbc:hive2://192.168.27.233:10000/default
2、在执行"load data local inpath '" + filepath + "' OVERWRITE into table " + tableName; 时,出现返回的是null,这个情况是跟本地文件的字段之间的间隔符有关。本地文件字段之间的间隔符必须是/x01。