大数据 - HIVE3.1.0 - 单机版安装部署(内嵌模式)

写在前面

内嵌模式,使用的是内嵌的Derby数据库来存储元数据,该模式不需要外连数据库,也不需要额外起Metastore服务,数据库和Metastore服务都嵌入在主Hive Server的进程中,这种安装模式配置简单也是HIVE默认的,但是该模式一次只能有一个客户端连接,一般适用于学习不适用于生产。

下载链接

官网下载:http://archive.apache.org/dist/hive/hive-3.1.0/apache-hive-3.1.0-bin.tar.gz

安装步骤

① 下载

在这里插入图片描述

② 解压
tar -zxvf apache-hive-3.1.0-bin.tar.gz

在这里插入图片描述

③ 环境变量

在“/etc/profile.d”目录中,创建一个文件 rills-atlas.sh ,内容如下:

### 1. SET HADOOP ENVIRONMENT ###
HADOOP_HOME=/opt/software/hadoop-3.1.1
HIVE_HOME=/opt/software/apache-hive-3.1.0-bin
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
export HADOOP_HOME HIVE_HOME PATH
④ 验证
[root@hm profile.d]# hive --version
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/software/apache-hive-3.1.0-bin/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/software/hadoop-3.1.1/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Hive 3.1.0
Git git://vgargwork.local/Users/vgarg/repos/hive.apache.master -r bcc7df95824831a8d2f1524e4048dfc23ab98c19
Compiled by vgarg on Mon Jul 23 16:02:03 PDT 2018
From source with checksum 147d8070369f8c672407753089777fd1
[root@hm profile.d]# hiveserver2 --version
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/software/apache-hive-3.1.0-bin/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/software/hadoop-3.1.1/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Hive 3.1.0
Git git://vgargwork.local/Users/vgarg/repos/hive.apache.master -r bcc7df95824831a8d2f1524e4048dfc23ab98c19
Compiled by vgarg on Mon Jul 23 16:02:03 PDT 2018
From source with checksum 147d8070369f8c672407753089777fd1
[root@hm profile.d]#
⑤ 配置

使用Derby的内嵌模式,同时配置hive-site.xml。

[root@hm apache-hive-3.1.0-bin]# ll
总用量 236
drwxr-xr-x 3 root root    157 62 16:28 bin
drwxr-xr-x 2 root root   4096 62 16:28 binary-package-licenses
drwxr-xr-x 2 root root   4096 62 18:00 conf
-rw-r--r-- 1 root root  20030 62 17:55 derby.log
drwxr-xr-x 4 root root     34 62 16:28 examples
drwxr-xr-x 7 root root     68 62 16:28 hcatalog
drwxr-xr-x 2 root root     44 62 16:28 jdbc
drwxr-xr-x 4 root root  12288 62 16:28 lib
-rw-r--r-- 1 root root  20798 523 2018 LICENSE
drwxr-xr-x 5 root root    133 62 17:59 metastore_db
-rw-r--r-- 1 root root    230 523 2018 NOTICE
-rw-r--r-- 1 root root 167884 719 2018 RELEASE_NOTES.txt
drwxr-xr-x 4 root root     35 62 16:28 scripts
drwxr-xr-x 3 root root     42 62 17:55 ${system:java.io.tmpdir}
drwxr-xr-x 2 root root      6 62 17:47 warehouse_db
[root@hm apache-hive-3.1.0-bin]# pwd
/opt/software/apache-hive-3.1.0-bin
[root@hm apache-hive-3.1.0-bin]# cp conf/{hive-default.xml.template,hive-site.xml}
[root@hm apache-hive-3.1.0-bin]# vim conf/hive-site.xml

修改后的文件如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <!-- Derby 内嵌模式元数据存储路径,不存在则自动创建 -->
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:derby:;databaseName=/opt/software/apache-hive-3.1.0-bin/metastore_db;create=true</value>
  </property>
  <!-- Derby 内嵌模式的驱动类 -->
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>org.apache.derby.jdbc.EmbeddedDriver</value>
  </property>
  <!-- Derby 内嵌模式真实数据的本地存储路径 -->
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/opt/software/apache-hive-3.1.0-bin/warehouse_db</value>
  </property>
  <!-- 查询结果显示列名 -->
  <property>
    <name>hive.cli.print.header</name>
    <value>true</value>
  </property>
  <!-- 显示当前数据库名称 -->
  <property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
  </property>
  <!-- 元数据检查,比较耗内存,测试时关闭,生产中须设为true -->
  <property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
  </property>
  <!-- Metastore 服务地址,它是Hive2 之后提供元数据访问的进程 -->
  <!-- 如VALUE 为空即<value/>Hive 则直连MySQL,无须启动Metastore 进程 -->
  <!--
  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://0.0.0.0:9083</value>
  </property>
  -->
  <!-- HiveServer2 可让JDBC、Python 等向Hive 提交任务 -->
  <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>0.0.0.0</value>
  </property>
  <property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
  </property>
  <!--
    避免 Internal error processing get_current_notificationEventId
    或者在Hadoop 的core-site.xml 添加
    hadoop.proxyuser.hive.hosts=HS2_HOST
    hadoop.proxyuser.hive.groups=*
  -->
  <property>
    <name>hive.metastore.event.db.notification.api.auth</name>
    <value>false</value>
  </property>
  
  <property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
    <description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.</description>
  </property>
  
  <property>
    <name>hive.exec.local.scratchdir</name>
    <value>/tmp/hive/local</value>
  </property>

  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/tmp/hive/resources</value>
  </property>

  <property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>/tmp/hive/operation_logs</value>
  </property>

</configuration>
⑥ 初始化
// 1. 先删除旧的数据目录:
rm -rf metastore_db warehouse_db

// 2. 初始化
schematool -dbType derby  -initSchema --verbose
⑦ 验证
[root@hm ~]# hive
which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/software/hadoop-3.1.1/bin:/opt/software/hadoop-3.1.1/sbin:/opt/software/apache-hive-3.1.0-bin/bin:/opt/software/jdk1.8.0_251/bin:/opt/software/jdk1.8.0_251/jre/bin:/opt/software/hadoop-3.1.1/bin:/opt/software/hadoop-3.1.1/sbin:/opt/software/apache-hive-3.1.0-bin/bin:/opt/software/jdk1.8.0_251/bin:/opt/software/jdk1.8.0_251/jre/bin:/root/bin)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/software/apache-hive-3.1.0-bin/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/software/hadoop-3.1.1/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Hive Session ID = d7fcbf5f-1826-4cb1-9bb5-41bd1ea0f9e5

Logging initialized using configuration in jar:file:/opt/software/apache-hive-3.1.0-bin/lib/hive-common-3.1.0.jar!/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
Hive Session ID = 73bd111e-3824-4bf4-931b-d10065ad2620
hive (default)> show databases;
OK
database_name
default
Time taken: 0.525 seconds, Fetched: 1 row(s)
hive (default)>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、关系运算: 4 1. 等值比较: = 4 2. 不等值比较: 4 3. 小于比较: < 4 4. 小于等于比较: 5 6. 大于等于比较: >= 5 7. 空值判断: IS NULL 5 8. 非空判断: IS NOT NULL 6 9. LIKE比较: LIKE 6 10. JAVA的LIKE操作: RLIKE 6 11. REGEXP操作: REGEXP 7 二、数学运算: 7 1. 加法操作: + 7 2. 减法操作: - 7 3. 乘法操作: * 8 4. 除法操作: / 8 5. 取余操作: % 8 6. 位与操作: & 9 7. 位或操作: | 9 8. 位异或操作: ^ 9 9.位取反操作: ~ 10 三、逻辑运算: 10 1. 逻辑与操作: AND 10 2. 逻辑或操作: OR 10 3. 逻辑非操作: NOT 10 四、数值计算 11 1. 取整函数: round 11 2. 指定精度取整函数: round 11 3. 向下取整函数: floor 11 4. 向上取整函数: ceil 12 5. 向上取整函数: ceiling 12 6. 取随机数函数: rand 12 7. 自然指数函数: exp 13 8. 以10为底对数函数: log10 13 9. 以2为底对数函数: log2 13 10. 对数函数: log 13 11. 幂运算函数: pow 14 12. 幂运算函数: power 14 13. 开平方函数: sqrt 14 14. 二进制函数: bin 14 15. 十六进制函数: hex 15 16. 反转十六进制函数: unhex 15 17. 进制转换函数: conv 15 18. 绝对值函数: abs 16 19. 正取余函数: pmod 16 20. 正弦函数: sin 16 21. 反正弦函数: asin 16 22. 余弦函数: cos 17 23. 反余弦函数: acos 17 24. positive函数: positive 17 25. negative函数: negative 17 五、日期函数 18 1. UNIX时间戳转日期函数: from_unixtime 18 2. 获取当前UNIX时间戳函数: unix_timestamp 18 3. 日期转UNIX时间戳函数: unix_timestamp 18 4. 指定格式日期转UNIX时间戳函数: unix_timestamp 18 5. 日期时间转日期函数: to_date 19 6. 日期转年函数: year 19 7. 日期转月函数: month 19 8. 日期转天函数: day 19 9. 日期转小时函数: hour 20 10. 日期转分钟函数: minute 20 11. 日期转秒函数: second 20 12. 日期转周函数: weekofyear 20 13. 日期比较函数: datediff 21 14. 日期增加函数: date_add 21 15. 日期减少函数: date_sub 21 六、条件函数 21 1. If函数: if 21 2. 非空查找函数: COALESCE 22 3. 条件判断函数:CASE 22 4. 条件判断函数:CASE 22 七、字符串函数 23 1. 字符串长度函数:length 23 2. 字符串反转函数:reverse 23 3. 字符串连接函数:concat 23 4. 带分隔符字符串连接函数:concat_ws 23 5. 字符串截取函数:substr,substring 24 6. 字符串截取函数:substr,substring 24 7. 字符串转大写函数:upper,ucase 24 8. 字符串转小写函数:lower,lcase 25 9. 去空格函数:trim 25 10. 左边去空格函数:ltrim 25 11. 右边去空格函数:rtrim 25 12. 正则表达式替换函数:regexp_replace 26 13. 正则表达式解析函数:regexp_extract 26 14. URL解析函数:parse_url 26 15. json解析函数:get_json_object 27 16. 空格字符串函数:space 27 17. 重复字符串函数:repeat 27 18. 首字符ascii函数:ascii 28 19. 左补足函数:lpad 28 20. 右补足函数:rpad 28 21. 分割字符串函数: split 28 22. 集合查找函数: find_in_set 29 八、集合统计函数 29 1. 个数统计函数: count 29 2. 总和统计函数: sum 29 3. 平均值统计函数: avg 30 4. 最小值统计函数: min 30 5. 最大值统计函数: max 30 6. 非空集合总体变量函数: var_pop 30 7. 非空集合样本变量函数: var_samp 31 8. 总体标准偏离函数: stddev_pop 31 9. 样本标准偏离函数: stddev_samp 31 10.中位数函数: percentile 31 11. 中位数函数: percentile 31 12. 近似中位数函数: percentile_approx 32 13. 近似中位数函数: percentile_approx 32 14. 直方图: histogram_numeric 32 九、复合类型构建操作 32 1. Map类型构建: map 32 2. Struct类型构建: struct 33 3. array类型构建: array 33 十、复杂类型访问操作 33 1. array类型访问: A[n] 33 2. map类型访问: M[key] 34 3. struct类型访问: S.x 34 十一、复杂类型长度统计函数 34 1. Map类型长度函数: size(Map) 34 2. array类型长度函数: size(Array) 34 3. 类型转换函数 35

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cloneme01

谢谢您的支持与鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值