Hive的安装

1.hive的安装
解压就完事了
配置/etc/profile环境变量
启动hdfs
启动hive
cp $HIVE_HOME/lib/jline.xxxxx $HADOOP_HOME/share/hadoop/yarn/lib
2.show databases;查看数据库
3.show tables;
4.create database xxxxx
5.desc tablename;
6.create table tablename(column columnType....)
tinyInt smallint int bigint String float double array struct map timestamp binary
7.show create table;查看表的详细信息
8.'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' 切分的类,在使用这个hdfs中文件的时候,我们要用到这个类进行切分,
一定是在查询数据的时候进行切分的,所以是懒加载的
'org.apache.hadoop.mapred.TextInputFormat'在取hdfs中数据的时候,我们其实是将mr提交完毕以后用mapper进行数据读取的,读取的时候用到的就是textInputFormat
进行的数据读取
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' mr任务在执行的时候,读取完毕的数据要输出到一个文件中,那么输出的时候只要value不要key
'hdfs://master:9000/user/hive/warehouse/student'指向的是一个hdfs中的文件夹目录,这个目录中的所有数据都是这个表中的数据

9. 默认情况下在我们没有设置这个数据库连接的时候,那么存储的数据位置就在当前的目录中,默认用的derby数据库,那么这个数据库就是hive本地自带的,存储
的位置就在当前目录中
10.如果换了一个启动目录那么对应的信息就不存在了,为了保证数据的持久性,我们将数据存放到一个mysql中
11.安装mysql rpm -qa|grep mysql
rpm -e --nodeps xxx.mysql.xxxx
rpm -ivh MysqlServer ....
rpm -ivh MysqlClient...
service mysql start
/usr/bin/mysql_secure_installation
进行设置
eg:千万不需要disallow远程用户登陆

12.mysql -uroot -p -h 使用客户端登陆服务端
13.将mysql数据库中的mysql数据库的user表中的host改为%就可以统配所有的ip地址
grant all privileges on *.* to root@"%" identified by "123456";
flush privileges;
delete from user where host!="%";
service mysql restart;

14.关于mysql的常识
千万别删除元root用户

15.配置数据库的远程连接,创建hive数据库的时候要选择latin1编码格式,如果使用的是navicate这个工具 latin swedish

16.在hive中的所有的数据都存在hdfs中,其实一个表对应的是一个文件夹
/user/hive/warehouse是hive存放文件的基础目录,默认不变直接指向这个目录
这个是根目录,创建的数据库会在这个目录中存在一个叫xxx.db的一个文件夹 创建一个表就会产生一个和表明一样的文件夹
如果想要更换位置 create .... location "hdfs:xx:9000/xxxxx"

17.默认进入到hive中的时候,不需要选择数据库,默认会有一个数据库default
默认进入就是default数据库,这个数据库的目录在/user/hive/warehouse/这个目录中
如果创建的是default数据库中的表,那么这个表的文件夹在/user/hive/warehouse/里面
如果是自己创建的数据库,/user/hive/warehouse/xx.db/文件夹

18.插入数据

原文地址:https://www.cnblogs.com/sx66/p/10823353.html