欢迎来到天天文库
浏览记录
ID:10197221
大小:29.68 KB
页数:7页
时间:2018-06-12
《inceptor & hyperbase实例演示》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Inceptor&Hyperbase实例演示本页提供了一个模拟某运营商的通话记录以及用户信息的实例场景,并基于此场景从离线分析和高并发实时查询两个角度来说明Inceptor和Hyperbase的基本操作方式,内容包含了Inceptor的数据导入、加载内存、关联、统计以及Hyperbase的数据导入、建立索引、精确查询、统计分析。实例场景本实例场景模拟了某运营商的通话记录表和用户信息表,以导入这两张表到Inceptor和Hyperbase中进行查询、关联和汇聚统计。通话记录表·通话记录表结构列名数据类型含义MSISDNSTRING手机号码OTHER_PARTYS
2、TRING对方号码START_DATESTRING通话开始日期START_TIMESTRING通话开始时间IMSISTRINGimsi号·通话记录表数据:存放于本地目录gsm文件夹下的gsm_data文件中001
3、002
4、20140416
5、182701
6、101001
7、003
8、20140417
9、182702
10、101002
11、003
12、20140418
13、182708
14、102003
15、001
16、20140419
17、131709
18、103004
19、001
20、20140419
21、131709
22、104用户信息表·用户信息表结构列名数据类型含义MSISDNSTRING手机号码CERNOSTR
23、ING身份证号CITY_IDSTRING开通城市REG_DATESTRING开通日期·用户信息表数据:存放于本地目录userinfo文件夹下的userinfo_data文件中001
24、1111111
25、SH
26、20130102002
27、2222222
28、SH
29、20130201003
30、3333333
31、NJ
32、20130612004
33、4444444
34、NT
35、20120612005
36、5555555
37、BJ
38、20120711离线分析本小节叙述了如何利用Inceptor对上述二表做离线分析:包括将数据导入HDFS以及加载到Inceptor内存表做离线分析。上述SQL指令都是在Incep
39、torShell下手工输入执行,用户同样可以通过JDBC连接到InceptorServer以执行SQL语句。数据导入HDFS·通话记录表数据存放于本地目录gsm文件夹下的gsm_data文件中,用户信息表数据存放于本地目录userinfo文件夹下的userinfo_data文件中:·--在HDFS目录/user/root下创建test文件夹·hadoopfs-mkdir/user/root/test·--数据导入test文件夹·hadoopfs-putgsm/user/root/test·hadoopfs-putuserinfo/user/root/test·
40、除了将本地文件put到HDFS中以导入数据,还可以通过Sqoop将关系型数据库中的数据导入到HDFS,具体导入方法请参见语法参考手册的Sqoop部分。加载到Inceptor内存表做离线分析·进入InceptorShell(transwarp-t-h[Inceptorserver])之后,使用SQL在Inceptor中建立外表gsm_ext和userinfo_ext:·createexternaltablegsm_ext(msisdnstring,other_partystring,start_datestring,start_timestring,imsist
41、ring)rowformatdelimitedfieldsterminatedby'
42、'storedastextfilelocation'hdfs://[HDFSNameNodeIPorName]:8020/user/root/test/gsm';··createexternaltableuserinfo_ext(msisdnstring,cernostring,city_idstring,reg_datestring)rowformatdelimitedfieldsterminatedby'
43、'storedastextfilelocation'hdfs://
44、[HDFSNameNodeIPorName]:8020/user/root/test/userinfo';·使用SQL将gsm_ext表和userinfo_ext表中的数据按照msisdn分桶并加载到内存,此处的setmapred.reduce.tasks的值需根据reduce阶段的数据量动态调整,每个reduce处理100MB左右的数据量为宜:·setmapred.reduce.tasks=[桶数];·createtablegsmtblproperties('cache'='ram','filters'='hashbucket(桶数):msisdn')ass
45、elect*fromgsm_extdi
此文档下载收益归作者所有