数据分析和转换-需求工具建议

时间:2019-05-27 19:41:05

标签: python automation etl transformation data-analysis

请详细找到以下问题描述:

i。我们有一个CDR文件,其中包含以下详细信息。

[root @ host1 / tmp / script]#vi ESE1.SVC-EDR-20190514125742.20190514170506

BILLING_ENGINE_ID=346|SCP_ID=18581572|SEQUENCE_NUMBER=3870962273|CDR_TYPE=5|RECORD_DATE=20190514165037|ACCT_ID=5949224|ACCT_REF_ID=6141954|WALLET_TYPE=21|NET=HOME_MO|CREFNUM=401d70251d8e7b|MSCADDR=971550930002|BEARER=VOICE|ACS_CUST_ID=11|CS=S|TCS=20190514165037|BALANCE_TYPES=135|BALANCES=213971|COSTS=105|ACCOUNT_TYPE=214|TAX_PLAN=VAT1|AT=VAT:5|EVENT_CLASS=Account|EVENT_NAME=D_PostCallNotif_N|EVENT_COST=105|EVENT_TIME_COST=0.00|EVENT_DATA_COST=0|EVENT_UNIT_COST=0|EVENT_COUNT=1|DISCOUNT=0|CASCADE=804|PROD_CAT_ID=26|MSISDN=971555929500
...
...
BILLING_ENGINE_ID=347|SCP_ID=18541598....
...

ii。我们的要求是将此CDR文件转换为.CSV格式。 该CSV文件的标题将从上述CDR文件中获取: 例如:

TCS,MSISDN,TN,DURATION,EVENT_COUNT,MSCADDR,LOCADD,MCC_MNC,NET,CDR_TYPE,BEARER,EVENT_CLASS,EVENT_NAME,RATING_GROUP,CLI,FCA,DN,CALLINGNUMBER,COSTS,GGSN_ADDRESS,TCE,BALANCE_NAMES,BALANCE_TYPES,BALANCES,OLD_BALANCE_EXPIRIES,NEW_BALANCE_EXPIRIES,VOUCHER,VOUCHER_NUMBER,EVENT_COST,EVENT_TIME_COST,EVENT_DATA_COST,EVENT_UNIT_COST,DISCOUNTS,CASCADE,BALANCE_TYPE,RATINGGROUP,CUG_NAME,CS,TRAFFIC_CASE

20190514105827,971552349507,89302971589250887,131.80,,971550930004,,,HOME_MO,1,VOICE,,,,971552349507,89302971589250887,,,132.00,,20190514110038,,396,10192.00,,,,,,,,,0,,,,,S,VOICE
20190514105824,971586269489,89301971503788450,135.30,,971550930002,,,HOME_MO,1,VOICE,,,,971586269489,89301971503788450,,,8568,,20190514110039,,21,22789,,,,,,,,,0,,,,,S,VOICE

在.CSV文件中,我们可能不需要第i点中提到的所有列。 例如,我们可能会要求仅提取.CSV中的以下列:

TCS,MSISDN,TN,DURATION,EVENT_COUNT,MSCADDR

生成.CSV后,还有一些要应用的过滤器规则,稍后在解决以下问题时,我将在稍后对该线程进行讨论。 没有CDR文件的数量非常庞大,并且每天都在不断生成(这是针对电信客户的BSS收费系统)。 因此,在实现提取逻辑时,我们需要牢记性能。 任何人都可以建议最好的方法,以上述方式在ii点中从CDR文件提取为CSV格式。 同样,哪一种工具在这里应该最有效,才能有效地转换为CSV并具有良好的性能。

需要您的指导。

谢谢, 桑迪普

我以前的同事已经用AWK编写了脚本,但是脚本逻辑相当困难并且性能很慢。

目前没有此类代码。

不适用

0 个答案:

没有答案