1. 国内外着名的互联网公司使用hadoop都做了什么谈HADOOP在大规模数据处理领域的具体应用。
节点数: 15台机器的构成的服务器集群服务器配置: 8核CPU,16G内存,1.4T硬盘容量。 HADOOP在网络:HADOOP主要应用日志分析,同时使用它做一些网页数据库的数据挖掘工作。节点数:10 - 500个节点。主要使用了2个集群:一个由1100台节点组成的集群,包括8800核CPU(即每台机器8核),和12000TB的原始存储(即每台机器12T硬盘)一个有300台节点组成的集群,包括2400核CPU(即每台机器8核),和3000TB的原始存储(即每台机器12T硬盘)由此基础上开发了基于SQL语法的项目:HIVE HADOOP在HULU 主要用于日志存储和分析13台机器构成的集群 (8核PUC,单台机器:4TB硬盘)基于HBASE数据库 HADOOP在TWITTER 使用HADOOP用于存储微博数据,日志文件和许多中间数据使用基于HADOOP构件的Cloudera's CDH2系统,存储压缩后的数据文件(LZO格式) HADOOP在雅虎:主要用于支持广告系统及网页搜索机器数:25000,CPU:8核集群机器数: 4000 个节点 (2*4cpu boxes w 4*1TB disk & 16GB RAM)
2. hadoop开发和数据挖掘选哪个好
1、SparkVSHadoop有哪些异同点?Hadoop:分布式批处理计算,强调批处理,常用于数据挖掘、分析Spark:是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速,Spark是一种与Hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使Spark在某些工作负载方面表现得更加优越,换句话说,Spark启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。Spark是在Scala语言中实现的,它将Scala用作其应用程序框架。与Hadoop不同,Spark和Scala能够紧密集成,其中的Scala可以像操作本地集合对象一样轻松地操作分布式数据集。尽管创建Spark是为了支持分布式数据集上的迭代作业,但是实际上它是对Hadoop的补充,可以在Hadoop文件系统中并行运行。通过名为Mesos的第三方集群框架可以支持此行为。Spark由加州大学伯克利分校AMP实验室(Algorithms,Machines,andPeopleLab)开发,可用来构建大型的、低延迟的数据分析应用程序。虽然Spark与Hadoop有相似之处,但它提供了具有有用差异的一个新的集群计算框架。首先,Spark是为集群计算中的特定类型的工作负载而设计,即那些在并行操作之间重用工作数据集(比如机器学习算法)的工作负载。为了优化这些类型的工作负载,Spark引进了内存集群计算的概念,可在内存集群计算中将数据集缓存在内存中,以缩短访问延迟.在大数据处理方面相信大家对hadoop已经耳熟能详,基于GoogleMap/Rece来实现的Hadoop为开发者提供了map、rece原语,使并行批处理程序变得非常地简单和优美。Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Rece两种操作。比如map,filter,flatMap,sample,groupByKey,receByKey,union,join,cogroup,mapValues,sort,partionBy等多种操作类型,他们把这些操作称为Transformations。同时还提供Count,collect,rece,lookup,save等多种actions。这些多种多样的数据集操作类型,给上层应用者提供了方便。各个处理节点之间的通信模型不再像Hadoop那样就是唯一的DataShuffle一种模式。用户可以命名,物化,控制中间结果的分区等。可以说编程模型比Hadoop更灵活.2、Spark在容错性方面是否比其他工具更有优越性?从Spark的论文《ResilientDistributedDatasets:AFault-TolerantAbstractionforIn-MemoryClusterComputing》中没看出容错性做的有多好。倒是提到了分布式数据集计算,做checkpoint的两种方式,一个是checkpointdata,一个是loggingtheupdates。貌似Spark采用了后者。但是文中后来又提到,虽然后者看似节省存储空间。但是由于数据处理模型是类似DAG的操作过程,由于图中的某个节点出错,由于lineagechains的依赖复杂性,可能会引起全部计算节点的重新计算,这样成本也不低。他们后来说,是存数据,还是存更新日志,做checkpoint还是由用户说了算吧。相当于什么都没说,又把这个皮球踢给了用户。所以我看就是由用户根据业务类型,衡量是存储数据IO和磁盘空间的代价和重新计算的代价,选择代价较小的一种策略。取代给中间结果进行持久化或建立检查点,Spark会记住产生某些数据集的操作序列。因此,当一个节点出现故障时,Spark会根据存储信息重新构造数据集。他们认为这样也不错,因为其他节点将会帮助重建。3、Spark对于数据处理能力和效率有哪些特色?Spark提供了高的性能和大数据处理能力,使得用户可以快速得到反馈体验更好。另一类应用是做数据挖掘,因为Spark充分利用内存进行缓存,利用DAG消除不必要的步骤,所以比较合适做迭代式的运算。而有相当一部分机器学习算法是通过多次迭代收敛的算法,所以适合用Spark来实现。我们把一些常用的算法并行化用Spark实现,可以从R语言中方便地调用,降低了用户进行数据挖掘的学习成本。Spark配有一个流数据处理模型,与Twitter的Storm框架相比,Spark采用了一种有趣而且独特的法。Storm基本上是像是放入独立事务的管道,在其中事务会得到分布式的处理。相反,Spark采用一个模型收集事务,然后在短时间内(我们假设是5秒)以批处理的方式处理事件。所收集的数据成为他们自己的RDD,然后使用Spark应用程序中常用的一组进行处理。作者声称这种模式是在缓慢节点和故障情况下会更加稳健,而且5秒的时间间隔通常对于大多数应用已经足够快了。这种方法也很好地统一了流式处理与非流式处理部分。总结这几天在看Hadoop权威指南、hbase权威指南、hive权威指南、大规模分布式存储系统、zoopkeeper、大数据互联网大规模数据挖掘与分布式处理等书同时补充,能静下心来好好的完整的看完一本书,是相当不错的。
3. hadoop如何分析论坛评论数据我现在想到的方案是:用爬虫从某论坛抓取数据,抓取到数据之后我直接
crontab做定时执行脚本,hive的直接放脚本里,mr的打成jar通过脚本运行。爬数据—数据清洗—每个评论lucence分词-取部分评论定义标签,好评中评差评—通过贝叶斯学习获得分类器模型—对测试数据预测—结果保存
4. Hadoop和数据挖掘有关系吗
有一点关系吧
hadoop是大数据类型的数据仓库
也就是说对海量数据进行抽调和分析
既然是数据分析自然和数据挖掘有关系,但并不等同
5. 什么是hadoop,怎样学习hadoop
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapRece。HDFS为海量的数据提供了存储,则MapRece为海量的数据提供了计算。一句话来讲Hadoop就是存储加计算。
Hadoop这个名字不是一个缩写,而是一个虚构的名字。该项目的创建者,Doug Cutting解释Hadoop的得名 :“这个名字是我孩子给一个棕黄色的大象玩具命名的。
Hadoop是一个能够让用户轻松架构和使用的分布式计算平台。用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:
1、高可靠性Hadoop按位存储和处理数据的能力值得人们信赖。
2、高扩展性Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。
3、高效性Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
4、高容错性Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
5、低成本与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。
Hadoop带有用Java语言编写的框架,因此运行在 Linux 生产平台上是非常理想的。Hadoop 上的应用程序也可以使用其他语言编写,比如 C++。
Hadoop大数据处理的意义
Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,将大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。Hadoop的MapRece功能实现了将单个任务打碎,并将碎片任务(Map)发送到多个节点上,之后再以单个数据集的形式加载(Rece)到数据仓库里。
Hadoop由以下几个项目构成
1、Hadoop Common :Hadoop体系最底层的一个模块,为Hadoop各子项目提供各种工具,如:配置文件和日志操作等。
2、HDFS:分布式文件系统,提供高吞吐量的应用程序数据访问,对外部客户机而言,HDFS 就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。但是 HDFS 的架构是基于一组特定的节点构建的(参见图 1),这是由它自身的特点决定的。这些节点包括 NameNode(仅一个),它在 HDFS 内部提供元数据服务;DataNode,它为 HDFS 提供存储块。由于仅存在一个 NameNode,因此这是 HDFS 的一个缺点(单点失败)。 存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的 RAID 架构大不相同。块的大小(通常为 64MB)和复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。HDFS 内部的所有通信都基于标准的 TCP/IP 协议。
3、MapRece :一个分布式海量数据处理的软件框架集计算集群。
4、Avro :doug cutting主持的RPC项目,主要负责数据的序列化。有点类似Google的protobuf和Facebook的thrift。avro用来做以后hadoop的RPC,使hadoop的RPC模块通信速度更快、数据结构更紧凑。
5、Hive :类似CloudBase,也是基于hadoop分布式计算平台上的提供data warehouse的sql功能的一套软件。使得存储在hadoop里面的海量数据的汇总,即席查询简单化。hive提供了一套QL的查询语言,以sql为基础,使用起来很方便。
6、HBase :基于Hadoop Distributed File System,是一个开源的,基于列存储模型的可扩展的分布式数据库,支持大型表的存储结构化数据。
7、Pig :是一个并行计算的高级的数据流语言和执行框架 ,SQL-like语言,是在MapRece上构建的一种高级查询语言,把一些运算编译进MapRece模型的Map和Rece中,并且用户可以定义自己的功能。
8、ZooKeeper :Google的Chubby一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
9、Chukwa :一个管理大型分布式系统的数据采集系统 由yahoo贡献。
10、Cassandra :无单点故障的可扩展的多主数据库 。
11、Mahout :一个可扩展的机器学习和数据挖掘库 。
Hadoop 设计之初的目标就定位于高可靠性、高可拓展性、高容错性和高效性,正是这些设计上与生俱来的优点,才使得Hadoop 一出现就受到众多大公司的青睐,同时也引起了研究界的普遍关注。到目前为止,Hadoop 技术在互联网领域已经得到了广泛的运用,如Yahoo、Facebook、Adobe、IBM、网络、阿里巴巴、腾讯、华为、中国移动等。
关于怎样学习hadoop,首先要了解并且深刻认识什么是hadoop,它的原理以及作用是什么,包括基本构成是什么,分别有什么作用,当然,在学习之前,至少要掌握一门基础语言,这样在学习起来才会事半功倍,因为目前hadoop在国内发展时间不长,有兴趣的朋友可以先找一些书籍来学习,打好基本功,本站也将持续更新有关hadoop的学习方法以及资料资源共享,希望我们一起努力,有好的方法和建议欢迎交流。
6. 一分钟了解互联网数据挖掘流程
一分钟了解互联网数据挖掘流程
1、爬虫抓取网络数据
真实的数据挖掘项目,一定是从获取数据开始的,除了通过一些渠道购买或者下载专业数据外,常常需要大家自己动手爬互联网数据,这个时候,爬虫就显得格外重要了。
Nutch爬虫的主要作用是从网络上抓取网页数据并建立索引。我们只需指定网站的顶级网址,如taobao.com,爬虫可以自动探测出页面内容里新的网址,从而进一步抓取链接网页数据。nutch支持把抓取的数据转化成文本,如(PDF、WORD、EXCEL、HTML、XML等形式)转换成纯文字字符。
Nutch与Hadoop集成,可以将下载的数据保存到hdfs,用于后续离线分析。使用步骤为:
向hdfs中存入待抓取的网站url
$ hadoop fs -put urldir urldir
注:
第一个urldir为本地文件夹,存放了url数据文件,每行一个url地址
第二个urldir为hdfs的存储路径。
启动nutch,在NUTCH_HONE目录下执行以下命令
$ bin/nutch crawlurldir –dir crawl -depth 3 –topN 10
命令成功执行后,会在hdfs中生成crawl目录。
2、MapRece预处理数据
对于下载的原始文本文档,无法直接进行处理,需要对文本内容进行预处理,包括文档切分、文本分词、去停用词(包括标点、数字、单字和其它一些无意义的词)、文本特征提取、词频统计、文本向量化等操作。
常用的文本预处理算法是TF-IDF,其主要思想是,如果某个词或短语在一篇文章中出现的频率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来做分类。
输入原始文本内容:
Againit seems that cocoa delivered……
执行TF-IDF预处理:
hadoop jar $JAR ……
输出文本向量:
9219:0.246 453:0.098 10322:0.21 11947:0.272 ……
每一列是词及其权重,使用冒号分隔,例如“9219:0.246”表示编号为9219的词,对应原始单词为“Again”,其权重值为0.246。
3、Mahout数据挖掘
预处理后的数据就可以用来做数据挖掘。Mahout是一个很强大的数据挖掘工具,是分布式机器学习算法的集合,包括:协同过滤、分类、聚类等。
以LDA算法为例,它可以将文档集中每篇文档的主题按照概率分布的形式给出。它是一种无监督学习算法,在训练时不需要手工标注主题,需要的仅仅是指定主题的数量K。此外LDA的另一个优点则是,对于每一个主题均可找出一些词语来描述它。
输入预处理后的数据:
9219:0.246 453:0.098 ……
执行LDA挖掘算法:
mahout cvb –k 20……
输出挖掘结果:
topic1 {computer,technology,system,internet,machine}
topic2 {play,film,movie,star,director,proction,stage}
我们可以获知用户的偏好是哪些主题,这些主题是由一些关键词组成。
4、Sqoop导出到关系数据库
在某些场景下,需要把数据挖掘的结果导出到关系数据库,用于及时响应外部应用查询。
sqoop是一个用来把hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle 等)中的数据导入到hadoop的hdfs中,也可以将hdfs的数据导出到关系型数据库中:
sqoop export –connect jdbc:mysql://localhost:3306/zxtest –username root–password root –table result_test –export-dir /user/mr/lda/out
export操作实现把hdfs目录/user/mr/lda/out下数据导出到mysql的result_test表。
7. 数据挖掘工程师和hadoop工程师那个发展空间更大一些 数据挖掘工程师 是不是也要 懂 hadoop
个人理解,hadoop工程师偏向管理数据,数据挖掘工程师偏向从数据里提取有价值的信息,数据挖掘的准确性有很大部分是由可供分析的数据量程度决定的,所以离了大规模数据的存储管理方式,比如hadoop,数据挖掘工程师无用武之地。另外数据挖掘工程师总是要跑数据挖掘算法吧,如果大数据的平台是hadoop的话,你至少要知道hadoop的计算模型是什么,它该如何高效地实现你要的算法。
8. 数据挖掘和hadoop是什么关系
有一个基于hadoop的数据挖掘库,叫mahout,你可以从它开始学习。
至于一绝对是扯淡,没有hadoop之前难道不做数据挖掘了吗
9. 金融需要 hadoop,spark 等这些大数据分析工具吗使用场景是怎样的
看看用亿信ABI做的相关案例
银行大数据应用
国内不少银行已经开始尝试通过大数据来驱动业务运营,如中信银行信用卡中心使用大数据技术实现了实时营销,光大银行建立了社交网络信息数据库,招商银行则利用大数据发展小微贷款。总的来看银行大数据应用可以分为四大方面:
1、客户画像
客户画像应用主要分为个人客户画像和企业客户画像。个人客户画像包括人口统计学特征、消费能力数据、兴趣数据、风险偏好等;企业客户画像包括企业的生产、流通、运营、财务、销售和客户数据、相关产业链上下游等数据。值得注意的是,银行拥有的客户信息并不全面,基于银行自身拥有的数据有时候难以得出理想的结果甚至可能得出错误的结论。比如,如果某位信用卡客户月均刷卡8次,平均每次刷卡金额800元,平均每年打4次客服电话,从未有过投诉,按照传统的数据分析,该客户是一位满意度较高流失风险较低的客户。但如果看到该客户的微博,得到的真实情况是:工资卡和信用卡不在同一家银行,还款不方便,好几次打客服电话没接通,客户多次在微博上抱怨,该客户流失风险较高。所以银行不仅仅要考虑银行自身业务所采集到的数据,更应考虑整合外部更多的数据,以扩展对客户的了解。包括:
(1)客户在社交媒体上的行为数据(如光大银行建立了社交网络信息数据库)。通过打通银行内部数据和外部社会化的数据可以获得更为完整的客户拼图,从而进行更为精准的营销和管理;
(2)客户在电商网站的交易数据,如建设银行则将自己的电子商务平台和信贷业务结合起来,阿里金融为阿里巴巴用户提供无抵押贷款,用户只需要凭借过去的信用即可;
(3)企业客户的产业链上下游数据。如果银行掌握了企业所在的产业链上下游的数据,可以更好掌握企业的外部环境发展情况,从而可以预测企业未来的状况;
(4)其他有利于扩展银行对客户兴趣爱好的数据,如网络广告界目前正在兴起的DMP数据平台的互联网用户行为数据。
2、精准营销
在客户画像的基础上银行可以有效的开展精准营销,包括:
(1)实时营销。实时营销是根据客户的实时状态来进行营销,比如客户当时的所在地、客户最近一次消费等信息来有针对地进行营销(某客户采用信用卡采购孕妇用品,可以通过建模推测怀孕的概率并推荐孕妇类喜欢的业务);或者将改变生活状态的事件(换工作、改变婚姻状况、置居等)视为营销机会;
(2)交叉营销。即不同业务或产品的交叉推荐,如招商银行可以根据客户交易记录分析,有效地识别小微企业客户,然后用远程银行来实施交叉销售;
(3)个性化推荐。银行可以根据客户的喜欢进行服务或者银行产品的个性化推荐,如根据客户的年龄、资产规模、理财偏好等,对客户群进行精准定位,分析出其潜在金融服务需求,进而有针对性的营销推广;
(4)客户生命周期管理。客户生命周期管理包括新客户获取、客户防流失和客户赢回等。如招商银行通过构建客户流失预警模型,对流失率等级前20%的客户发售高收益理财产品予以挽留,使得金卡和金葵花卡客户流失率分别降低了15个和7个百分点。
3、风险管理与风险控制
在风险管理和控制方面包括中小企业贷款风险评估和欺诈交易识别等手段
(1)中小企业贷款风险评估。银行可通过企业的产、流通、销售、财务等相关信息结合大数据挖掘方法进行贷款风险分析,量化企业的信用额度,更有效的开展中小企业贷款。
(2)实时欺诈交易识别和反洗钱分析。银行可以利用持卡人基本信息、卡基本信息、交易历史、客户历史行为模式、正在发生行为模式(如转账)等,结合智能规则引擎(如从一个不经常出现的国家为一个特有用户转账或从一个不熟悉的位置进行在线交易)进行实时的交易反欺诈分析。如IBM金融犯罪管理解决方案帮助银行利用大数据有效地预防与管理金融犯罪,摩根大通银行则利用大数据技术追踪盗取客户账号或侵入自动柜员机(ATM)系统的罪犯。
4、运营优化
(1)市场和渠道分析优化。通过大数据,银行可以监控不同市场推广渠道尤其是网络渠道推广的质量,从而进行合作渠道的调整和优化。同时,也可以分析哪些渠道更适合推广哪类银行产品或者服务,从而进行渠道推广策略的优化。
(2)产品和服务优化:银行可以将客户行为转化为信息流,并从中分析客户的个性特征和风险偏好,更深层次地理解客户的习惯,智能化分析和预测客户需求,从而进行产品创新和服务优化。如兴业银行目前对大数据进行初步分析,通过对还款数据挖掘比较区分优质客户,根据客户还款数额的差别,提供差异化的金融产品和服务方式。
(3)舆情分析:银行可以通过爬虫技术,抓取社区、论坛和微博上关于银行以及银行产品和服务的相关信息,并通过自然语言处理技术进行正负面判断,尤其是及时掌握银行以及银行产品和服务的负面信息,及时发现和处理问题;对于正面信息,可以加以总结并继续强化。同时,银行也可以抓取同行业的银行正负面信息,及时了解同行做的好的方面,以作为自身业务优化的借鉴。