hive-day01笔记
一.什么是hive?
是一种基于hadoop的数据仓库工具,可以让用户使用SQL语言查询HDFS中的结构化数据.
二.hive的工作原理?
即:
将数据存储在HDFS中;
通过mapreduce处理和运算数据;
向用户提供SQL语言的接口.
三.建表
四.将数据导入到hive表中
本质:就是把数据上传到表目录中.hdfs dfs -put …
1.将本地磁盘数据导入hive表:
load data local inpath ‘本地文件路径’ into table 表名;
2.将HDFS中的数据导入hive表:(本质是文件的移动)
load data inpath ‘HDFS文件路径’ into table 表名;
注:hive不会对数据源的格式进行检查和约束.导入数据时要保证数据格式和表结构要对应.数据每行多出的字段会被舍弃,缺少或者数据类型不匹配的字段会变为NULL.
查看linux端口占用情况:
netstat - atulnp会显示所有端口和所有对应的程序,用grep管道可以过滤出想要的字段
-a :all,表示列出所有的连接,服务监听,Socket资料
-t :tcp,列出tcp协议的服务
-u :udp,列出udp协议的服务
-n :port number, 用端口号来显示
-l :listening,列出当前监听服务
-p :program,列出服务程序的PID
五.hive启动方式
六.分区表
Q&A
1.HIVE建表后只能在mysql中看到hive数据库,在HDFS中找不到user目录:
大概率是因为安装hive的这台机器上的hadoop默认文件系统没有设置成HDFS.所以它自动生成到本机根目录下了.修改hadoop配置文件core-site.xml,将defaultFS设置为HDFS://linux01:8020,然后重启hadoop.
2.mysql开启远程连接权限:
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
这个两个设置以后 密码很简单不会报错.注意高版本是下划线,低版本时是’’.policy’’
mysql > grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
mysql > flush privileges;
开启远程连接权限