服务器名称:MinevilleCity,服务器地址:playinpet,端口:19132。
服务器名称:TheHive,服务器地址:hivebedrocknetwork,端口:19132。The Hive是一个Minecraft基岩版的服务器,此服务器总部假设在新加坡,所以对于中国玩家来说延迟较低。版本是不停改变的,根据目前基岩版的最新正式版。基岩Beta版和旧版本无法加入服务器。且必须使用Minecraft正版(国际版)基岩版才可以加入。步骤
Hive提供了jdbc驱动,使得我们可以连接Hive并进行一些类关系型数据库的sql语句查询等 *** 作,首先我们需要将这些驱动拷贝到报表工程下面,然后再建立连接,最后通过连接进行数据查询。
拷贝jar包到FR工程
将hadoop里的hadoop-commonjar拷贝至报表工程appname/WEB-INF/lib下;
将hive里的hive-execjar、hive-jdbcjar、hive-metastorejar、hive-servicejar、libfb303jar、log4jjar、slf4j-apijar、slf4j-log4j12jar拷贝至报表工程appname/WEB-INF/lib下。
配置数据连接
启动设计器,打开服务器>定义数据连接,新建JDBC连接。hive配置远程metastore的方法:
1)首先配置hive使用本地MySQL存储metastore(服务器A
1111212123)(也可以使用远程mysql存储)
2)配置完成后,在服务器A启动服务:/etc/initd/Hadoop-hive-metastore
start
(默认监听端口是:9083)
3)配置hive客户端,修改hive-sitexml:(服务器B-需要有hadoop环境)
<property>
<name>hivemetastorelocal</name>
<value>false</value>
<description>controls
whether
to
connect
to
remote
metastore
server
or
open
a
new
metastore
server
in
Hive
Client
JVM</description>
</property>
<property>
<name>hivemetastoreuris</name>
<value>thrift://127001:9083</value>
<description></description>
</property>
4)hive
执行测试hql可以
Mac如何连接云服务器上的hive
2021-02-0618:24:48首先下载jdbc
并解压,进入解压后的目录,将Cloudera_HiveJDBC4_25151040zip解压。
打开sqldeveloper,点击依次点击工具栏上的OracleSQLDeveloper->Preference->数据库->第三方JDBC驱动程序,再点击下面的添加条目按钮。
重启sqldeveloper。
点击新建连接udf的全称是User Defined Function用户自定义函数,创建后可以直接在select语句中使用
使用中需要注意的是,创建一个udf需要继承orgapachehadoophiveqlexecUDF,并且要对evaluate进行overwrite
所以开发工程需要至少加上依赖包
然后创建一个类继承UDF,实现evaluate方法可以实现传入一个数据返回一个数据的效果
下面以信息脱敏为例
以上通过调用函数传入信息,然后数据处理后会返回一个脱敏信息。
接着需要用maven对这个进行package,生成jar包,将文件上传到服务器上。
以下流程注意登陆账户是否有权限
并建议将此jar包上传到分布式文件系统上,可以参考如下命令:
hdfs dfs -put /home/hive-udf/desensitizationjar /lib/hive_udf/
然后可以通过hdfs dfs -ls /lib/hive_udf/查看已上传成功的包
然后进入hive客户端:可以直接在服务器上使用hive的bin包下的hive进行直接连接,也可以是其他连接方式。
这里有两种方法进行创建,一个是创建临时函数,一个是创建永久函数
1创建临时函数
用此种方式的话,请在sql前加上后面两句
add jar hdfs:///lib/hive_udf/desensitizationjar;
create temporary function desensitization as 'comsfzDesensitization';
注意:这里的desensitization为以后调用的函数名,comsfzDesensitization为jar包里的类路径。
然后可以进行测试
select desensitization("我是傻疯子");
最后删除命令为:(临时函数可以不用删除,窗口关闭后会消失)
drop temporary function desensitization;
2创建永久函数
CREATE FUNCTION udfdesensitization AS 'comsfzDesensitization' USING JAR 'hdfs:///lib/hive_udf/desensitizationjar';
删除命令为DROP FUNCTION IF EXISTS udfdesensitization;
如果需要全局生效,目前来看需要重启hive,否则只对当前客户端有效。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)