在实际后台服务开发中,RPC框架具有很大的优势,其中当前dubbo已经受到大家的关注和认可,现在开始进行手动码一个简单的RPC框架。
hive简介
hive是基于Hadoop的一个数据仓库工具,
可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,
可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,
可以通过类SQL语句快速实现简单的MapReduce统计,
不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
Hive的基本操作
1.建数据库
CREATE DATABASE IF NOT EXISTS test
COMMENT '添加对表的描述'
2.上传文件至hdfs
# 把本地数据put到集群
$hadoop fs -put /Users/mrlevo/Desktop/project/163music/music_data /test/music/
3.查看
# 其中hdfs上的数据是这样的,它会location到该路径下的所有文件
$hadoop fs -ls /test/music/
-rw-r--r-- 1 mac supergroup 2827582 2017-07-07 15:03 /test/music/music_data
# music_data里面的文件是这样的
$ hadoop fs -cat /test/music/music_data | more
xxx|9|让音乐串起你我|云南省|文山壮族苗族自治州|75后|新浪微博|482|2002|326
xx|8|None|云南省|曲靖市|75后|None|0|12|4
xx|8|百年云烟只过眼,不为繁华易素心|贵州省|贵阳市|85后|None|1|22|1
# 文件大小
$ hadoop fs -du /t_user/my_hive_db/my_hive_table_test01
17/10/15 12:14:54 INFO hdfs.PeerCache: SocketCache disabled.
282171728 /t_user/my_hive_db/my_hive_table_test01/000000_0
281446475 /t_user/my_hive_db/my_hive_table_test01/000001_0
281021562 /t_user/my_hive_db/my_hive_table_test01/000002_0
280834172 /t_user/my_hive_db/my_hive_table_test01/000003_0
280411919 /t_user/my_hive_db/my_hive_table_test01/000004_0
279749295 /t_user/my_hive_db/my_hive_table_test01/000005_0
$ hadoop fs -du -h /t_user/my_hive_db/my_hive_table_test01
17/10/15 12:17:05 INFO hdfs.PeerCache: SocketCache disabled.
269.1 M /t_user/my_hive_db/my_hive_table_test01/000000_0
268.4 M /t_user/my_hive_db/my_hive_table_test01/000001_0
268.0 M /t_user/my_hive_db/my_hive_table_test01/000002_0
267.8 M /t_user/my_hive_db/my_hive_table_test01/000003_0
267.4 M /t_user/my_hive_db/my_hive_table_test01/000004_0
266.8 M /t_user/my_hive_db/my_hive_table_test01/000005_0
$ hadoop fs -du -s /t_user/my_hive_db/my_hive_table_test01
17/10/15 12:16:52 INFO hdfs.PeerCache: SocketCache disabled.
29959873142 /t_user/my_hive_db/my_hive_table_test01
$ hadoop fs -du -s -h /t_user/my_hive_db/my_hive_table_test01
17/10/15 12:17:17 INFO hdfs.PeerCache: SocketCache disabled.
27.9 G /t_user/my_hive_db/my_hive_table_test01
4.建表
然后再直接建hive表并关联数据
hive> create external table test.163music( //建立外表,选择的数据库是test,表是163music
nickname string,
stage string,
introduce string,
province string,
city string,
age string,
social string,
trends string,
follow string,
fans string,
homepage string) //这里是列名
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' //这里是关联进表里面的数据的分隔符
LOCATION '/test/music/'; //这里location 选择的是hdfs的路径,比如我把我文件放在hdfs路径是/test/music/
如果是内表的话,会默认url,内表和外表有一定的区别,对外表进行drop,其对应的文件保留。
###5.查看数据
select * from test.163music limit 1;
###6.查看表结构
desc test.163music;
结果是:
nickname string
stage string
introduce string
province string
city string
age string
social string
trends string
follow string
fans string
homepage string