开发细节和风险控制

一、开发细节与风险控制

        开发细节当中及伴随着各种各样的风险,并要及时反馈和处理风险,如果工作量评估、即使难度评估、人员变更、需求变更等等,故我们将两者放在一起,不可拆分

1.开发细节

        共九个开发模块

1.1.确定源数据文件集合

        步骤拆分

                来源渠道

                        自从写网络爬虫采集:研发成本高、不是本职工作

                        公开数据集:五研发成本,公开数据质量高,数据量可大可小,按需获取即可

                        第三方数据买卖公司:无研发成本,需要付费才能获取

                渠道选择

                        搜狗搜验室-http://www.sougou.com/labs/

                        多领域公开数据http://blog.csdn.net/marleylee/article/details/76587354

                        国外的公开数据集-https://site.douban.com/146782/widget/notes/15524697/note/519440833/

                        自行积累的公共数据集-https://mp.weixin.qq.com/s/8whZsvERs6zlUeYT677YyA

                确定数据集

                确定数据文件格式

                确定数据结构及Demo数据查看

                将数据传输到hadoop客户端机器中,为数据传输到hive仓库做准备

                洞察数据本身

                        总大小

                                掌握计算方法

                                        准确及算法:看到全部数据后,通过命令求实际大小

                                        评估及算法:通过对部分数据做精细化计算,然后推到到全局数据。

                        总文件个数或者说平均文件大小

                                掌握计算方法

                        总记录条数

                        可预见的最大/最小文件记录数

1.2 将源数据装载到hive仓库

        步骤拆分

                zip原始数据批量解压

                在hive中创建weibo_origin和weibo_product两张同构表

                将解压完成的明文每天数据文件,按天load到weibo_origin载入原始数据层

                数据检验与校正

                清洗原始数据表weibo_origin,按天分区插入到weibo_product表中

        zip原始数据批量解压

                zip原始位置

                 将zip包解压批量解压到指定目录/data1/weibo_text下

                        ls weibo/*.zip | xargs -n1 unzip -o -d weibo_text/

        在hive中创建weibo_orgin 和 weibo_product两张同构表

                建表脚本

                       数据按天分区载入weibo——origin表

                shell脚本load_to_weibo_origin.sh

        shell脚本执行

                常规测试执行

                sh load to weibo_origin.sh

        生产环境执行

                相关命令

                        nohup

                                英文全称:NO HANG UP

                                不挂断的运行,可以使命令永久的执行下去,和用户终端没有关系

                                例如我们断开SSH连接都不会影响它的运行

                                关闭标准输入,终端不再能够接受任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件。

                                没有后台运行的意思,但有一些后台执行的形式在里边

                        ”&“

                                在后台运行,但当用户会话退出(挂起)的时候,命令自动也跟着退出

                        命令连用:nohup [Command] &

                                命令永久的在后台执行,直到结束

                最终脚本命令

                        nohup ./load to weibo_origin.sh &

        数据检验与校正

                校验导入数据的正确与否

                        样例数据查询是否正常(limil m,查看数据样例有无明显异常)

                        数据量级是否相同(主要是指数据当量,十成级、百万级)

                        数据完整性是否一致(主要是指别丢数据)

                        数据格式与字段是否对齐

                校正方法

                        将数据的导入方式与数据表的解析方式保持一致

                                修改webo_origin 表创建脚本

         将数据表weibo_origin经过清洗规则处理,按天分区载入weibo_product表

                清洗逻辑

                        将每个表中的第一行字段名称去掉,属于多余的

                

                清洗代码

                        from weibo_origin

                        insert overwrite table weibo_product partition(dat_seq)select * where mid1=‘mid’;

                 清洗完成效果

        

 1.3 分词UDF编写

        分词概述

             此处主要指中文分词

                        中文分词(Chinese Word Segmentation,简称cws)

                                指的是将一个汉字序列(一段话)切成一个一个单独的的词的过程

                分词的作用

                        中文分词是文本挖掘的基础,对于输入的一段文中,成功的进行中问分词,可以达到电脑自动识别语句含义的效果。

                        中文分词技术属于自然处理(nlp)技术范畴,对于一句话,人可以通过自己的只是来明白哪些是词过哪些不是,但如何让计算机也能理解?其处理过程为分词处理算法。

                自然语言处理技术(NLP,Nature Language Process)

                        什么是自然语言

                                自然语言即人类的文字顿好口语,或其它用于沟通交流的形式 

                                其为是人类智慧的结晶,自然语言处理是人工智能中最为困难的问题之一,而对自然语言处理的研究也是充满魅力和挑战

                        主要范畴

                                文本朗读(Text  to speech)/语音(speech synthesis)

                                语音识别(Speech recognition)

                                中文自动分词(Chinese word segmentation)

                                词性标注(Part-of-speech tagging)

                                句法分析(Parsing)

                                自然语言生成(Natural language generation)

                                文本分类(Text categorization)

                                信息检索(Infromation retrieval)

                                信息抽取(Infromationem exrtaction)

                                文本校对(Text-proofing)

                                问答系统(Question answering)

                                机器翻译(Machine translation)

                                自动摘要(Automatic summarization)

                                文字蕴涵(Textual entailment)

                        处理难点

                                单词的边界界定

                                        中文中的最小分隔单位是句子,词之间是没有分隔的。不像英文有显著的分隔

                                词义的消歧

                                        中文博大精深

                                                他说的确实在理/这的确是真的

                                                长春市长春节讲话

                                                旅游和服务是最好的

                                                邓颖超生前最喜欢的一个东西

                                                北京大学生前来应聘

                                                小明骑着车子要倒了,小明一把把把把住了!

                                

分词器选择

c/c++
ICTCLAS
java分词器
ansj分词(比较简单易用,本项目选择该分词器)
hanLP分词
mmseg
IK分词
jieba分词
PaoDing分词
天亮分词器
python
jieba分词
ansj分词器应用集成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值