伪分布式

一、安装及配置Hive

1.配置HADOOP_HOME和Hive conf 目录hive-env.sh

# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/opt/softwares/hadoop-2.8.0 # Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/softwares/hive-1.2.2/conf

2.在HDFS文件系统中创建两个目录并为同组用户添加执行权限

In addition, you must use below HDFS commands to create /tmp and /user/hive/warehouse (aka hive.metastore.warehouse.dir) and set them chmod g+w before you can create a table in Hive

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp

$ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

3.运行Hive shell(CLI)

!!!必须在HDFS启动之后启动Hive

$ $HIVE_HOME/bin/hive

4.HQL操作

show databases ;

use/create default;

show tables;

#显示表信息
desc student; #显示表详细信息
desc extended student; #显示表格式化后的详细信息
desc formatted student; create table student(id int, name string)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; # 行格式分隔的字段以“t”结尾 load data local inpath '/opt/datas/test' into table databaseName.student; # 从本地文件导入数据到表中,数据库名可以加可以不加,跟手动 put 是一样的 select * from student; select id form student; show functions; desc function xxx; #注意没有s desc function extended xxx; #详细 #显示帮助
#/bin/hive -help #启动时设置配置信息
bin/hive --hiveconf <property=value> #!!!在Hive中操作文件dfs系统
dfs -cp xxx xxx; #!!!在Hivez中操作本地文件系统
!ls /opt/datas

二、安装MySQL

1. sudo apt-get install mysql-server

2. sudo apt-get isntall mysql-client

3. sudo apt-get install libmysqlclient-dev

4. service mysql start

5. mysql -uroot -p

6. 在数据库中将root的Hostname改成%,允许所有人登录,所有IP

三、在Hive中配置MySQL作为元数据存储数据库,Metastore

1.拷贝MySQL的驱动Java包(mysql-connector下的jar包)到HIVE-HOME/lib下

2.添加配置文件hive-site.xml(hive-default.xml.template的复刻版)

3.添加并修改连接数据库需要的四个配置

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property> <property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property> <property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property> <property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>ubuntu</value>
<description>password to use against metastore database</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> <property>
<name>hive.cli.print.current.db</name>
<value>true</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>

四、各种信息的设置位置说明

1.数据仓库存储位置
*由1.2.2可知,默认为/user/hive/warehouse
*配置在hive.default中
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
*在仓库目录下每一个数据库一个文件夹(default除外) DirName = databaseName.db
*default下的表也作为一个文件夹在默认路径下存储起来 DirName = tableName
2.配置log目录(非必要)
*默认路径/tmp/username/hive.log
*修改conf/hive-log4j.properties文件
3.日志显示级别
*修改conf/hive-log4j.properties文件
*hive.root.logger = INFO/DEBUG,DRFA/console
4.在命令行显示当前数据库以及表头信息
*三中有涉及
5.启动时设置配置信息
*bin/hive --hiveconf <property=value>
6.查看当前所有配置信息
*hive > set ;
*hive > set key = value ; #临时设置一个值
7.执行历史记录
~/.hivehistory

五、hive的参数

cen@hostname-ubuntu:/opt/softwares/hive-1.2.2$ bin/hive -help
usage: hive
-d,--define <key=value> Variable subsitution to apply to hive -d 定义一个值
commands. e.g. -d A=B or --define A=B
--database <databasename> Specify the database to use
-e <quoted-query-string> SQL from command line -e 单行查询语句
-f <filename> SQL from files -f SQL文件
-H,--help Print help information -help 显示帮助
--hiveconf <property=value> Use value for given property -hiveconf 临时配置hive
--hivevar <key=value> Variable subsitution to apply to hive -hivevar
commands. e.g. --hivevar A=B
-i <filename> Initialization SQL file -i 初始化的SQL文件,udf相关
-S,--silent Silent mode in interactive shell
-v,--verbose Verbose mode (echo executed SQL to the
console) #查询结果保存到文件中
bin/hiva -e "select * from student;" > /opt/datas/hive-res.txt

Hive环境搭建及基本操作的更多相关文章

  1. 《OD大数据实战》Hive环境搭建

    一.搭建hadoop环境 <OD大数据实战>hadoop伪分布式环境搭建 二.Hive环境搭建 1. 准备安装文件 下载地址: http://archive.cloudera.com/cd ...

  2. 《Programming Hive》读书笔记(一)Hadoop和hive环境搭建

    <Programming Hive>读书笔记(一)Hadoop和Hive环境搭建             先把主要的技术和工具学好,才干更高效地思考和工作.   Chapter 1.Int ...

  3. Hive环境搭建

    hive 环境搭建需要hadoop的环境.hadoop环境的搭建不在这里赘述.参考:http://www.cnblogs.com/parkin/p/6952370.html 1.准备阶段 hive 官 ...

  4. Spark环境搭建(四)-----------数据仓库Hive环境搭建

    Hive产生背景 1)MapReduce的编程不便,需通过Java语言等编写程序 2) HDFS上的文缺失Schema(在数据库中的表名列名等),方便开发者通过SQL的方式处理结构化的数据,而不需要J ...

  5. Hadoop生态圈-Hive快速入门篇之Hive环境搭建

    Hadoop生态圈-Hive快速入门篇之Hive环境搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据仓库(理论性知识大多摘自百度百科) 1>.什么是数据仓库 数据 ...

  6. Docker环境搭建以及基本操作

    Docker环境搭建以及基本操作 Docker环境基本搭建: 基础环境:Centos 7.4        IP:192.168.30.117 [root@docker ~]# cat /etc/re ...

  7. Hive环境搭建和SparkSql整合

    一.搭建准备环境 在搭建Hive和SparkSql进行整合之前,首先需要搭建完成HDFS和Spark相关环境 这里使用Hive和Spark进行整合的目的主要是: 1.使用Hive对SparkSql中产 ...

  8. Hive——环境搭建

    Hive--环境搭建 相关hadoop和mysql环境已经搭建好.我博客中也有相关搭建的博客. 一.下载Hive并解压到指定目录(本次使用版本hive-1.1.0-cdh5.7.0,下载地址:http ...

  9. 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)

    引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...

随机推荐

  1. IE浏览器在线更新GitHub客户端

    在IE中输入网址:http://github-windows.s3.amazonaws.com/GitHub.application

  2. 一道Java集合框架题

    问题:某班30个学生的学号为20070301-20070330,全部选修了Java程序设计课程,给出所有同学的成绩(可用随机数产生,范围60-100),请编写程序将本班各位同学的成绩按照从低到高排序打 ...

  3. APK加固之类抽取分析与修复

    0x00 简单介绍   目前我己知的APK加固主要有以下两种方式(或有其它的方式有待发现) 隐藏dex文件:通过对目标DEX文件进行整体加密或压缩方式把整个dex转换为另外一个文件存放在assets文 ...

  4. 树checkbox选择jquery实例

    <!DOCTYPE html> <html> <head> <title></title> <script src="htt ...

  5. js中字符串怎么转化为日期

    var str = "2010-08-01"; // 转换日期格式 str = str.replace(/-/g, '/'); // "2010/08/01"; ...

  6. 微软提供的 Web 版 Raspberry Pi 模拟器

    https://docs.microsoft.com/en-gb/azure/iot-hub/iot-hub-raspberry-pi-web-simulator-get-started#overvi ...

  7. cesium 实现路径漫游功能

    功能:路径漫游. 详细:绘制多个路径,删除路径,漫游路径选择,路径漫游. ①绘制路径 ②保存路径 ③路径切换 ④路径漫游 ⑤路径删除 ⑥删除完成

  8. Jmeter入门8 连接microsoft sql server数据库取数据

    本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...

  9. 问答 请问使用OK("raw:jpg")能返回多张图片吗

     请问使用OK("raw:jpg")能返回多张图片吗  发布于 28天前  作者 qq_3aeeb0ad  78 次浏览  复制  上一个帖子  下一个帖子  标签: 无 @At( ...

  10. 2016 Al-Baath University Training Camp Contest-1

    2016 Al-Baath University Training Camp Contest-1 A题:http://codeforces.com/gym/101028/problem/A 题意:比赛 ...