@zhangyy
2020-07-07T13:41:07.000000Z
字数 2175
阅读 174
hive的部分
1. 在hadoop处理结构化数据的数据仓库
不是: 关系型数据库
不是OLTP
实时查询和行级别的更新
hive 存储数据结构(schema)在数据库中,处理的数据进入hdfs
olap
HQL / HiveQL
tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /soft
cd /soft
ln -s apache-hive-2.1.1-bin/ hive
vim /etc/profile
----
## hive
export HIVE_HOME=/soft/hive
PATH=$PATH:$HOME/bin:$HIVE_HOME/bin
jdbc驱动程序:
tar -zxvf mysql-connector-java-5.1.43.tar.gz
cd mysql-connector-java-5.1.43/
cp -p mysql-connector-java-5.1.43-bin.jar /soft/hive/lib/
cd /soft/hive/conf
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
配置hive-env.sh
修改hive-env.sh
因为 Hive 使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安装路径:
vim hive-env.sh
HADOOP_HOME=/soft/hadoop ##Hadoop安装路径
export HIVE_CONF_DIR=/soft/hive/conf ##Hive配置文件路径
export HIve_AUX_JARS_PATH=/soft/hive/lib
创建HDFS目录
在 Hive 中创建表之前需要创建以下 HDFS 目录并给它们赋相应的权限。
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir -p /tmp/hive/
hdfs dfs -chmod 777 /user/hive/warehouse
hdfs dfs -chmod 777 /tmp/hive
编辑hive-site.xml
vim hive-site.xml
------
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Bigdata_1234</value>
</property>
修改 io.tmpdir 路径
同时,要修改 hive-site.xml 中所有包含 ${system:java.io.tmpdir} 字段的 value 即路径(vim下 / 表示搜索,后面跟你的关键词,比如搜索 hello,则为 /hello , 再回车即可),你可以自己新建一个目录来替换它,例如 /soft/hive/iotmp
mkdir /soft/hive/iotmp
chmod 777 /soft/hive/iotmp
把hive-site.xml 中所有包含 ${system:Java.io.tmpdir}替换成/soft/hive/iotmp
%s#${system:java.io.tmpdir}#/soft/hive/iotmp#g
将${system:user.name}改为${user.name}
%s#${system:user.name}#${user.name}#g
在mysql 当中建库并授权
mysql> create database hive;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Bigdata_1234' WITH GRANT OPTION;
退出mysql数据
运行Hive
在命令行运行 hive 命令时必须保证以下两点:
HDFS 已经启动。可以使用 start-dfs.sh 脚本来启动 HDFS。
MySQL Java 连接器添加到 $HIVE_HOME/lib 目录下。我安装时使用的是 mysql-connector-java-5.1.43.jar。
从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作。
schematool -dbType mysql -initSchema
hive