一对一的UDF使用,
java代码块:
public class Tests extends UDF
{
//实现大写转小写的功能
public String evaluate(String input){
if (input == null){
return null;
}
return input.toLowerCase();
}
/*public static void main(String[] args) {
String abc = evaluate("ABC");
System.out.println(abc);
}*/
}
完成之后需要打包发送到hive工具的lib目录下
hive>add jar /jar包原来路径
创建自定义函数
create function udftest as "具有该方法的类的路径";
创建一个表用来存储数据和查询并添加一条数据
create table udfs(value string);
insert into udfs values('AAA');
进行查询显示大写转小写
select udftest(value) from udfs;
至此,一对一的数据查询大写转小写UDF实现
jdbc使用方法:
首先开启hiveserver2,注意,如果卡在那里不动了,证明启动成功,操作成功会输出相应的OK
public class Testjdbc {
private static Connection conn = null;
private static Connection getConnection() throws ClassNotFoundException, SQLException {
//加载驱动信息
Class.forName("org.apache.hive.jdbc.HiveDriver");
//建立连接
return DriverManager.getConnection(
"jdbc:hive2://192.168.205.140:10000/mayong", "root", "root");
}
public static void main(String[] args) {
select();
}
public static void select(){
try {
//建立连接
conn = getConnection();
//创建执行sql对象
Statement state = conn.createStatement();
String tableName = "tab2";
//执行sql获取结果集
ResultSet resultSet = state.executeQuery("select * from " + tableName);
//遍历结果集
while(resultSet.next()){
System.out.println(resultSet.getString(1));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
close();
}
}
//关闭连接
private static void close() {
if (conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}