引言
大家好,我是ChinaManor,直译过来就是中国码农的意思,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。
下面为大家带来大数据开发企业案例__通信行业企业数据处理需求,建议实操~
相关数据链接:https://pan.baidu.com/s/1UuGqjx_NQ50NT64gY62hKQ
提取码:ywt0
大数据开发企业案例__通信行业企业数据处理需求(MapReduce月度考试)
需求一:现有部分GN数据,数据为全省数据,解析GN数据,将数据按照 /OutputData/城市名称/日期(YYYY-MM-dd)/类型(固定Gn)/imsi.txt (有很多imsi)的结构,将相同城市,相同日期,相同imsi(国际移动用户标识),类型为Gn的数据汇总到一起。
数据:
1|460002452699237|8655890276520178|8613786401241|21.176.70.136|29588|255|56042|221.177.173.83|221.177.173.64|221.177.173.35|221.177.173.35|2|cmnet|101|a788057f91cf3a89|1480752079784|1480752079788|18|26|0|33931|8.8.8.8|53|460|0|73|366|1|1|0|0|0|0|0|0|183.232.72.164|0|1|4|6|6|2260069379|||||||||||||||
数据说明:数据列的分隔符为“|”,截取出数据的第六个和第八个字段,两个字段使用“_”拼接,构成城市名称编号。
日期字段为第十七个数据。
Imsi数据为第二个数据
需求二:计算每个相同IMSI(国际移动用户标识)、TAC(跟踪区域码)的上行流量和,下行流量和,总流量和。
需求说明:将S1U数据里面的VOLUME字段(数据流量)和IMSI、TAC两个字段提取出来,
并且按相同IMSI、TAC对VOLUME求和(上行流量和、下行流量和、总流量的和)。其结果保存为新的文件。
数据:
2604|731|11|fe58db672c0fdf509b00000000010000|6|460028593519735|3520220675936518|15859328363|1|100.78.245.86|100.78.46.134|2152|2152|162597888|1802797180|58211|121570817|cmnet.mnc002.mcc460.gprs|103|1480723076856|1480723079334|2|1|568|255|2|10.40.123.144|FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF|58874|255|183.230.77.151|FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF|80|1668|21348|21|23|0|0|0|0|39|29|0|0|10|103|4096|1360|1|0|1|3|5|200|103|160|205|vweixinthumb.tc.qq.com|http://vweixinthumb.tc.qq.com/150/20250/snsvideodownload?filekey=30270201010420301e0202009604025348041046476a6bb3aabfe3ab7e8f9d6289379d02024d7b0400&bizid=1023&hy=SH&fileparam=302c020101042530230204a14b67d8020457c0f37d02024f1a02031e8d7f02030f424002040670370a0201000400?tp=wxpc&length=1136&width=640||WeChat/6.3.24.17 CFNetwork/758.5.3 Darwin/15.6.0|image/jpg|http://weixin.qq.com/?version=369301521&uin=2993776409&nettype=0&scene=album_friend||19835|1|255|255|||3|0|2478|0|1
数据说明: 数据列的分隔符为“|”,
数据内的第六个数据是IMSI,第十六个数据是TAC,第三十四个数据是上行流量,第三十五个数据是下行流量
需求三:解析s1u文件。提取数据中相同IMSI的数据中,URI里面含有经纬度的行,生成锅炉后的文件。
需求说明: 数据:
2604|731|11|fe58db650a0fc025d900000000010000|6|460077074895837|8618370354398412|15773123855|1|100.78.245.86|100.78.51.76|2152|2152|672271360|266371931|29627|251699076|cmnet.mnc007.mcc460.gprs|103|1480723017374|1480723079000|2|15|303|255|2|10.40.107.178|FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF|35569|255|101.251.217.211|FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF|80|6165|697|10|8|0|0|0|0|28|32|0|0|136|320|300|1360|1|0|1|3|6|200|320|320|339|ulog.ksapisrv.com|http://ulog.ksapisrv.com/rest/n/clc/rs?lat=28.517853&lon=112.834822&ver=4.52&ud=99592796&sys=ANDROID_5.1.1&c=MYAPP&oc=MYAPP&net=LTE&did=ANDROID_358c5ab83f0b8439&mod=vivo%28vivo+Xplay5A%29&app=0&language=zh-cn&country_code=CN&appver=4.52.2.2791&loc=5Lit5Zu9fOa5luWNl%2BecgXzlsrPpmLPluIJ85rmY6Zi05Y6%2F&spc_cache=177709294&music_cnt=103&crid=3167||kwai-android|multipart/form-data; boundary=MmiGQu8w6Qct2bi66EozBlafFGCF7zBi|||5077|0|255|255|||3|0|61626|0|0
数据说明: 数据列的分隔符为“|”, 数据内的第六十个数据是URI,
需求四:多数据整合 需求:根据imsi合并软采和硬采数据
需求说明:遍历两种大类型的数据,根据小数据类型(092,095,096,098,099,103)进行数据整理。
若是092,计算下一个数据 若是095: 数据长度在0到28(包含28)封装相应数据, 数据长度大于28小于等于30,封装相应数据, 数据长度大于30小于等于32,封装相应数据, 数据长度大于32小于等于34,封装相应数据, 数据长度大于34小于等于36,封装相应数据, 数据长度大于36小于等于38,封装相应数据, 数据长度大于40小于等于42,封装相应数据, 若是096, 数据长度大于0小于等于38,封装相应数据, 数据长度大于38小于等于46,封装相应数据, 数据长度大于46小于等于54,封装相应数据, 数据长度大于54小于等于62,封装相应数据, 数据长度大于62小于等于70,封装相应数据, 数据长度大于70小于等于78,封装相应数据, 数据长度大于78小于等于86,封装相应数据, 若是098, 数据长度大于0小于等于24,封装相应数据, 数据长度大于24小于等于28,封装相应数据, 数据长度大于28小于等于32,封装相应数据, 数据长度大于32小于等于36,封装相应数据, 数据长度大于36小于等于40,封装相应数据, 数据长度大于40小于等于44,封装相应数据, 数据长度大于44小于等于48,封装相应数据, 若是099, 数据长度大于0小于等于22,封装相应数据, 数据长度大于22小于等于24,封装相应数据, 数据长度大于24小于等于26,封装相应数据, 数据长度大于26小于等于28,封装相应数据, 数据长度大于28小于等于30,封装相应数据, 数据长度大于30小于等于32,封装相应数据, 数据长度大于33小于等于34,封装相应数据, 若是103, 若第60个数据不等于“”,并且包含http,包含经纬度(lon,lat) 那么直接封装经纬度 数据长度大于0小于等于76,封装相应数据, 数据说明见文件《第四题说明》 字段含义: Length 指示整个XDR所占用字节数; City 城市区号,如010代表北京; Interface 接口类型; IMSI 用户IMSI(TBCD编码); IMEI 终端IMEI(TBCD编码); MSISDN 用户号码(TBCD编码); MME_Group_ID UE当前连接的MME组标识,软采上报; MME_Code UE当前连接的MME编码,软采上报; M_TMSI RRC协议中上报的M-TMSI; MME_UE_SIAP_ID UE的MME UE S1AP ID; TAC TAC值; Cell_ID UE所在小区的EC; S1U_Longitude S1U经度; S1U_Latitude S1U纬度; S1U_DL_THROUGHPUT S1U下行吞吐量; S1U_UL_THROUGHPUT S1U上行吞吐量; UU_C_RNTI UU用户在当前小区的C-RNTI; S1MME_OTHER_TAC S1MME对端小区的TAC,只在切换过程填写; Other_ECI 对端小区的ECI,只在切换过程填写; UU_OTHER_C_RNTI; Procedure_Type 流程类型编码; Procedure_Start_Time 业务流程开始时间; Procedure_End_Time 业务流程结束时间; Procedure_Status 流程状态; Request_Cause 流程中请求消息cause值; Failure_Cause 流程中响应消息的失败cause值; Keyword_1 辅助记录更多流程相关信息; Keyword_2 预留字段,当前版本中填全F; UU_CSFB_INDICATION CSFB业务指示,标识RRC连接释放过程是否触发CSFB流程; UU_REDIRECTED_NETWORK RRC连接释放过程中重定向的网络类型; S1MME_OLD_MME_GROUP_ID 原MME组标识; S1MME_OLD_MME_CODE 原MME号; S1MME_OLD_M_TMSI UE的原M-TMSI; S1MME_TMSI 2G/3G系统为UE分配的TMSI; USER_IPV4 2G/3G系统为UE分配的TMSI; APN APN; EPS_BEARER_NUMBER 后续跟随的承载信息的个数 ; UEMR_PHR UE相对于配置的最大发射功率的余量; UEMR_ENB_RECEIVERD_POWER eNB接收UE的总功率; UEMR_UL_SINR 上行信噪比; UEMR_SERVING_FREQ 服务小区的EARFCN; UEMR_SERVING_RSRP 服务小区RSRP; UEMR_SERVING_RSRQ 服务小区RSRQ; UEMR_NCELL_NUMBER 后续跟随的邻区信息的个数; UEMR_N1_CELL_PCI 第一个邻小区的PCI; UEMR_N1_CELL_FREQ 第一个邻小区的EARFCN; UEMR_N1_CELL_RSRP 第一个邻小区的RSRP测量值; UEMR_N1_CELL_RSRQ 第一个邻小区的RSRQ测量值; UEMR_N2_CELL_PCI 第二个邻小区的PCI; UEMR_N2_CELL_FREQ 第二个邻小区的EARFCN; UEMR_N2_CELL_RSRP 第二个邻小区的RSRP测量值; UEMR_N2_CELL_RSRQ 第二个邻小区的RSRQ测量值; UEMR_N3_CELL_PCI 第三个邻小区的PCI; UEMR_N3_CELL_FREQ 第三个邻小区的EARFCN; UEMR_N3_CELL_RSRP 第三个邻小区的RSRP测量值; UEMR_N3_CELL_RSRQ 第三个邻小区的RSRQ测量值; UEMR_N4_CELL_PCI 第四个邻小区的PCI; UEMR_N4_CELL_FREQ 第四个邻小区的EARFCN; UEMR_N4_CELL_RSRP 第四个邻小区的RSRP测量值; UEMR_N4_CELL_RSRQ 第四个邻小区的RSRQ测量值; UEMR_N5_CELL_PCI 第五个邻小区的PCI; UEMR_N5_CELL_FREQ 第五个邻小区的EARFCN; UEMR_N5_CELL_RSRP 第五个邻小区的RSRP测量值; UEMR_N5_CELL_RSRQ 第五个邻小区的RSRQ测量值; UEMR_N6_CELL_PCI 第六个邻小区的PCI; UEMR_N6_CELL_FREQ 第六个邻小区的EARFCN; UEMR_N6_CELL_RSRP 第六个邻小区的RSRP测量值; UEMR_N6_CELL_RSRQ 第六个邻小区的RSRQ测量值; BEARER_1_ID EPS bearer ID,取值范围从0到15; S1MME_BEARER_1_TYPE 承载1的类型; S1MME_BEARER_1_QCI 承载1的QCI,取值范围从1到9; BEARER_1_STATUS 第一个EPS承载的操作结果; S1MME_BEARER_1_REQUEST_CAUSE 承载1操作请求消息中的Cause值; S1MME_BEARER_1_FAILURE_CAUSE 承载1操作失败消息中的Cause值; S1MME_BEARER_1_ENB_GTP_TEID 承载1对应的eNB侧GTP-TEID; S1MME_BEARER_1_SGW_GTP_TEID 承载1对应的SGW侧GTP-TEID; BEARER_2_ID EPS bearer ID,取值范围从0到15; S1MME_BEARER_2_TYPE 承载2的类型; S1MME_BEARER_2_QCI 承载2的QCI,取值范围从1到9; BEARER_2_STATUS 第2个EPS承载的操作结果; S1MME_BEARER_2_REQUEST_CAUSE 承载2操作请求消息中的Cause值; S1MME_BEARER_2_FAILURE_CAUSE 承载2操作失败消息中的Cause值; S1MME_BEARER_2_ENB_GTP_TEID 承载2对应的eNB侧GTP-TEID; S1MME_BEARER_2_SGW_GTP_TEID 承载2对应的SGW侧GTP-TEID; BEARER_3_ID EPS bearer ID,取值范围从0到15; S1MME_BEARER_3_TYPE 承载5的类型; S1MME_BEARER_3_QCI 承载5的QCI,取值范围从1到9; BEARER_3_STATUS 第5个EPS承载的操作结果; S1MME_BEARER_3_REQUEST_CAUSE 承载5操作请求消息中的Cause值; S1MME_BEARER_3_FAILURE_CAUSE 承载5操作失败消息中的Cause值; S1MME_BEARER_3_ENB_GTP_TEID 承载5对应的eNB侧GTP-TEID; S1MME_BEARER_3_SGW_GTP_TEID 承载3对应的SGW侧GTP-TEID; BEARER_4_ID EPS bearer ID,取值范围从0到15; S1MME_BEARER_4_TYPE 承载4的类型; S1MME_BEARER_4_QCI 承载4的QCI,取值范围从1到9; BEARER_4_STATUS 第4个EPS承载的操作结果; S1MME_BEARER_4_REQUEST_CAUSE 承载4操作请求消息中的Cause值; S1MME_BEARER_4_FAILURE_CAUSE 承载4操作失败消息中的Cause值; S1MME_BEARER_4_ENB_GTP_TEID 承载4对应的eNB侧GTP-TEID; S1MME_BEARER_4_SGW_GTP_TEID 承载4对应的SGW侧GTP-TEID; BEARER_5_ID EPS bearer ID,取值范围从0到15; S1MME_BEARER_5_TYPE 承载5的类型; S1MME_BEARER_5_QCI 承载5的QCI,取值范围从1到9; BEARER_5_STATUS 第5个EPS承载的操作结果; S1MME_BEARER_5_REQUEST_CAUSE 承载5操作请求消息中的Cause值; S1MME_BEARER_5_FAILURE_CAUSE 承载5操作失败消息中的Cause值; S1MME_BEARER_5_ENB_GTP_TEID 承载5对应的eNB侧GTP-TEID; S1MME_BEARER_5_SGW_GTP_TEID 承载5对应的SGW侧GTP-TEID; BEARER_6_ID EPS bearer ID,取值范围从0到15; S1MME_BEARER_6_TYPE 承载6的类型; S1MME_BEARER_6_QCI 承载6的QCI,取值范围从1到9; BEARER_6_STATUS 第6个EPS承载的操作结果; S1MME_BEARER_6_REQUEST_CAUSE 承载6操作请求消息中的Cause值; S1MME_BEARER_6_FAILURE_CAUSE 承载6操作失败消息中的Cause值; S1MME_BEARER_6_ENB_GTP_TEID 承载6对应的eNB侧GTP-TEID; S1MME_BEARER_6_SGW_GTP_TEID 承载6对应的SGW侧GTP-TEID; S1U_APP_TYPE 应用大类; S1U_APP_SUB_TYPE 应用小类; S1U_APP_CONTENT 应用小类的内容细分; S1U_APP_STATUS 标识业务是否成功; S1U_APP_SERVER_IP_IPV4 访问服务器的IPv4地址; S1U_APP_SERVER_PORT 访问的服务器的端口; S1U_UL_DATA 上行流量; S1U_DL_DATA 下行流量; S1U_TCP_RESP_DELAY TCP建链响应时延(ms); S1U_TCP_COM_DELAY TCP建链确认时延(ms); S1U_TCP_SUCC_FIRST_REQ_DELAY TCP建链成功到第一条事务请求的时延(ms); S1U_FIRST_REQ_FIRST_RESP_DELAY 第一条事务请求到其第一个响应包时延(ms); S1U_TCP_TRY_COUNT TCP建链尝试次数; S1U_TCP_CON_STATUS TCP连接状态指示; S1U_SESSION_OVER_FLAG 会话是否结束标志; S1U_FIRST_HTTP_RESP_DELAY 第一个HTTP响应包时延(MS); S1U_LAST_HTTP_DELAY 最后一个HTTP内容包的时延(MS); S1U_LAST_ACK_COM_DELAY 最后一个ACK确认包的时延(ms); S1U_HOST 访问域名; S1U_URI 访问的URI; S1U_HTTP_CONTENT_TYPE HTTP的内容是文字还是图片、视频、应用等; S1U_REFER_URI 参考URI; S1U_TITLE 网站名称; S1U_BUS_ACTION_FLAG 业务行为标识; S1U_BUS_COM_FLAG 业务完成标识; S1U_BUS_DELAY 业务时延(ms); Length; City; Interface; IMSI; IMEI; MSISDN; MME_Group_ID; MME_Code; M_TMSI; MME_UE_SIAP_ID; TAC; Cell_ID; S1U_Longitude; S1U_Latitude; S1U_DL_THROUGHPUT; S1U_UL_THROUGHPUT; UU_C_RNTI; S1MME_OTHER_TAC; Other_ECI; UU_OTHER_C_RNTI; Procedure_Type; Procedure_Start_Time; Procedure_End_Time; Procedure_Status; Request_Cause; Failure_Cause; Keyword_1; Keyword_2; UU_CSFB_INDICATION; UU_REDIRECTED_NETWORK; S1MME_OLD_MME_GROUP_ID; S1MME_OLD_MME_CODE; S1MME_OLD_M_TMSI; S1MME_TMSI; USER_IPV4; APN; EPS_BEARER_NUMBER; UEMR_PHR; UEMR_ENB_RECEIVERD_POWER; UEMR_UL_SINR; UEMR_SERVING_FREQ; UEMR_SERVING_RSRP; UEMR_SERVING_RSRQ; UEMR_NCELL_NUMBER; UEMR_N1_CELL_PCI; UEMR_N1_CELL_FREQ; UEMR_N1_CELL_RSRP; UEMR_N1_CELL_RSRQ; UEMR_N2_CELL_PCI; UEMR_N2_CELL_FREQ; UEMR_N2_CELL_RSRP; UEMR_N2_CELL_RSRQ; UEMR_N3_CELL_PCI; UEMR_N3_CELL_FREQ; UEMR_N3_CELL_RSRP; UEMR_N3_CELL_RSRQ; UEMR_N4_CELL_PCI; UEMR_N4_CELL_FREQ; UEMR_N4_CELL_RSRP; UEMR_N4_CELL_RSRQ; UEMR_N5_CELL_PCI; UEMR_N5_CELL_FREQ; UEMR_N5_CELL_RSRP; UEMR_N5_CELL_RSRQ; UEMR_N6_CELL_PCI; UEMR_N6_CELL_FREQ; UEMR_N6_CELL_RSRP; UEMR_N6_CELL_RSRQ; BEARER_1_ID; S1MME_BEARER_1_TYPE; S1MME_BEARER_1_QCI; BEARER_1_STATUS; S1MME_BEARER_1_REQUEST_CAUSE; S1MME_BEARER_1_FAILURE_CAUSE; S1MME_BEARER_1_ENB_GTP_TEID; S1MME_BEARER_1_SGW_GTP_TEID; BEARER_2_ID; S1MME_BEARER_2_TYPE; S1MME_BEARER_2_QCI; BEARER_2_STATUS; S1MME_BEARER_2_REQUEST_CAUSE; S1MME_BEARER_2_FAILURE_CAUSE; S1MME_BEARER_2_ENB_GTP_TEID; S1MME_BEARER_2_SGW_GTP_TEID; BEARER_3_ID; S1MME_BEARER_3_TYPE; S1MME_BEARER_3_QCI; BEARER_3_STATUS; S1MME_BEARER_3_REQUEST_CAUSE; S1MME_BEARER_3_FAILURE_CAUSE; S1MME_BEARER_3_ENB_GTP_TEID; S1MME_BEARER_3_SGW_GTP_TEID; BEARER_4_ID; S1MME_BEARER_4_TYPE; S1MME_BEARER_4_QCI; BEARER_4_STATUS; S1MME_BEARER_4_REQUEST_CAUSE; S1MME_BEARER_4_FAILURE_CAUSE; S1MME_BEARER_4_ENB_GTP_TEID; S1MME_BEARER_4_SGW_GTP_TEID; BEARER_5_ID; S1MME_BEARER_5_TYPE; S1MME_BEARER_5_QCI; BEARER_5_STATUS; S1MME_BEARER_5_REQUEST_CAUSE; S1MME_BEARER_5_FAILURE_CAUSE; S1MME_BEARER_5_ENB_GTP_TEID; S1MME_BEARER_5_SGW_GTP_TEID; BEARER_6_ID; S1MME_BEARER_6_TYPE; S1MME_BEARER_6_QCI; BEARER_6_STATUS; S1MME_BEARER_6_REQUEST_CAUSE; S1MME_BEARER_6_FAILURE_CAUSE; S1MME_BEARER_6_ENB_GTP_TEID; S1MME_BEARER_6_SGW_GTP_TEID; S1U_APP_TYPE; S1U_APP_SUB_TYPE; S1U_APP_CONTENT; S1U_APP_STATUS; S1U_APP_SERVER_IP_IPV4; S1U_APP_SERVER_PORT; S1U_UL_DATA; S1U_DL_DATA; S1U_TCP_RESP_DELAY; S1U_TCP_COM_DELAY; S1U_TCP_SUCC_FIRST_REQ_DELAY; S1U_FIRST_REQ_FIRST_RESP_DELAY; S1U_TCP_TRY_COUNT; S1U_TCP_CON_STATUS; S1U_SESSION_OVER_FLAG; S1U_FIRST_HTTP_RESP_DELAY; S1U_LAST_HTTP_DELAY; S1U_LAST_ACK_COM_DELAY; S1U_HOST; S1U_URI; S1U_HTTP_CONTENT_TYPE; S1U_REFER_URI; S1U_TITLE; S1U_BUS_ACTION_FLAG; S1U_BUS_COM_FLAG; S1U_BUS_DELAY;
总结
愿你读过之后有自己的收获,如果有收获不妨一键三连一下~