当前位置: 首页 > article >正文

大华的Hive技术文档

。。。。。

如何在Linux上安装并配置Hive
##############
# HIVE 3.1.2 #
##############
	# 1、解压并重命名
	cd /opt/download
	tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/software/
	mv /opt/software/apache-hive-3.1.2-bin/ /opt/software/hive312
	cd /opt/software/hive312
	
	# 2、环境变量并激活
	vim /etc/profile.d/my.sh
	#-----------------------------------------
	# hive
	export HIVE_HOME=/opt/software/hive312
	export PATH=$PATH:$HIVE_HOME/bin
	#-----------------------------------------:
	source /etc/profile
	
	# 3、配置文件
	mv conf/hive-default.xml.template conf/hive-default.xml
	vim conf/hive-site.xml
	#-----------------------------------------
	<configuration>
	<!--hdfs仓库路径-->
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/hive312/warehouse</value>
    </property>
	<!--metastore(元)数据库类型-->
	<property>
		<name>hive.metastore.db.type</name>
		<value>mysql</value>
		<description>Expects one of [derby, oracle, mysql, mssql, postgres].</description>
	</property>
    <!--连接mysql字符串-->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>mysql
        <value>jdbc:mysql://192.168.71.128:3306/hive312?createDatabaseIfNotExist=true</value>
    </property>
    <!--mysql连接驱动-->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <!--mysql连接账号-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <!--mysql本地连接密码-->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>kb16</value>
    </property>
	<!--关闭schema验证-->
	<property>
		<name>hive.metastore.schema.verification</name>
		<value>false</value>
	</property>
	<!--提示当前库名-->
	<property>
		<name>hive.cli.print.current.db</name>
		<value>true</value>
		<description>Whether to include the current database in the Hive prompt.</description>
	</property>
	<!--查询输出显示列名-->
	<property>
		<name>hive.cli.print.header</name>
		<value>true</value>
		<description>Whether to print the names of the columns in query output.</description>
	</property>
	</configuration>
	#-----------------------------------------
	${hive.exec.scratchdir} =DEFAULT=> /tmp/hive
		is still used for other temporary files, such as job plans
	
	#4、拷贝mysql驱动
	cp /opt/download/mysql-connector-java-5.1.47.jar /opt/software/hive312/lib/
	
	#5、更新guava包和hadoop一致
	ls lib/|grep guava
		# guava-19.0.jar
	rm -f lib/guava-19.0.jar
	find /opt/software/hadoop313/ -name guava*
		#/opt/software/hadoop313/share/hadoop/common/lib/guava-27.0-jre.jar
		#/opt/software/hadoop313/share/hadoop/hdfs/lib/guava-27.0-jre.jar
	cp /opt/software/hadoop313/share/hadoop/hdfs/lib/guava-27.0-jre.jar lib/
	
	#6、mysql授权
	grant all on *.* to root@master01 identified by 'kb16';
	flush privileges;
	
	#7、初始化
	bin目录下
	schematool -dbType mysql -initSchema
s
	#8、hive启动模式
		#首先启动元数据服务
		nohup hive --service metastore 1>/dev/null 2>&1 &
		
		#1、方法一 hive客户端
			hive
		#2、方法二 基于metastore和hiveserver2的beeline
			#启动hiveserver2服务
			nohup hive --service hiveserver2 1>/dev/null 2>&1 &
			beeline -u jdbc:hive2://localhost:10000
如何在hive中实现对手机号的加密
public class EncrypPhoneNumber extend UDF{
	public String evaluate(String phoNum){
	String encrypPhoneNum=null;
	//判断手机号不为空,并且为11位
	if(StringUtils.isNotEmpty(phoNum))&&phoNum.trim.length()==11{
		//判断数据满足中国大陆手机号码规范
		String regex ="^(1[3-9]\\d{9}$)";
		Pattern p=Pattern.compile(regex);
		Matcher m=p.matcher(phoNum);
		if(m.matcher()){//进入这里的都是符合手机号规则的
			//使用正则替换,返回加密后的数据
			encrypPhoneNum=phoNum.trim().replaceAll("(\\d{3}\\d{4}(\\d{4})","$1****$2");
		}else{
			//不符合手机号规则,数据直接原封不动返回
			encrypPhoneNum=phoNum;
		}
	}else{
		//不符合11位,数据直接原封不动返回
		encrypPhoneNum=phoNum;
	}
	return encrypPhoneNum;
	}
}


//建一个maven工程,贴两个依赖
//粘到IDEA里打jar包,拖到moba里(位置任意)
//用虚拟机执行:  add jar /root/hive-udf-1.0-SNAPSHOT.jar;(这个路径 要写对)
//注册成为临时函数,给UDF函数命名,格式为:create temporary function 函数名 as 'UDF类全路径';
//我改为create temporary  encrypt_phoNum as '粘->类的copy reference';

//使用这个函数,如select encrypt_phoNum();   括号里输你的参数

http://www.kler.cn/a/156919.html

相关文章:

  • 怎么监控员工电脑?分享5个监控员工电脑的绝佳方法(立竿见影!建议收藏!)
  • Cesium加载大量点数据卡顿处理办法
  • 【项目开发 | 跨域认证】JSON Web Token(JWT)
  • 【Python TensorFlow】进阶指南(续篇一)
  • mapreduce 将数据清洗后保存到 hbase
  • Django 详细入门介绍
  • MacBook Pro 安装Nacos【超详细图解】
  • oracle varchar2 和 nvarchar2的区别
  • 一次性客户的笔记总结
  • Flask 实现Token认证机制
  • FacetWP Hierarchy Select网站内容层次结构选择插件
  • 金蝶云星空表单插件单据体批量删除,序号自增
  • Java基本数据类型、包装类及拆装箱详解
  • Spring Cloud + Vue前后端分离-第2章 使用Maven搭建SpringCloud项目
  • centos7上源码安装mysql--运维高级
  • codeforces 1859B - Olya and Game with Arrays
  • 设计简单高效的短链系统
  • 沿着马可·波罗的足迹,看数字云南
  • MT8390商显广告机主板_MTK联发科安卓主板方案开发
  • pip的基本命令和使用
  • 力扣二叉树--第三十八天
  • GO基础之运算符
  • 目标检测中的损失函数:IOU_Loss、GIOU_Loss、DIOU_Loss和CIOU_Loss
  • 基于Go语言实现简易Web应用
  • 【基础知识】Windows/Linux文件系统类型基本介绍
  • YITH Product Countdown Premium电商商城产品倒计时高级版插件