hadoop开发问题答案汇总【持续更新ing】

 wordcount 对中文统计按空格,中文怎么统计,单个字吗?
使用结巴(jieba)python实现的中文分词来处理中文统计


1.mapreduce 的离线数据源来自哪呢?存储在哪?
数据源可以来自很多地方,比如日志系统,访客行为,或者采集的文本文件等等
数据进行处理过后可以存放到关系型数据库(mysql,oracle)或者非关系型数据库(mongoDB,Hbash)以及分布式列式存储数据库(HBase)等都可以。


2.tcp/udp 的区别?
TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!
UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
tcp协议和udp协议的差别
TCP UDP
是否连接 : 面向连接 面向非连接
传输可靠性: 可靠 不可靠
应用场合: 传输大量数据 少量数据
速度 : 慢 快

3.storm 和hadoop的区别?
Storm用于处理高速、大型数据流的分布式实时计算系统。为Hadoop添加了可靠的实时数据处理功能
Spark采用了内存计算。从多迭代批处理出发,允许将数据载入内存作反复查询,此外还融合数据仓库,流处理和图形计算等多种计算范式。Spark构建在HDFS上,能与Hadoop很好的结合。它的RDD是一个很大的特点。
Hadoop当前大数据管理标准之一,运用在当前很多商业应用系统。可以轻松地集成结构化、半结构化甚至非结构化数据集。

4.什么是延时,吞吐?
Latency,中文译作延迟。Throughput,中文译作吞吐量。它们是衡量软件系统的最常见的两个指标。
延迟一般包括单向延迟(One-way Latency)和往返延迟(Round Trip Latency),实际测量时一般取往返延迟。它的单位一般是ms、s、min、h等。
而吞吐量一般指相当一段时间内测量出来的系统单位时间处理的任务数或事务数(TPS)。注意“相当一段时间”,不是几秒,而可能是十几分钟、半个小时、一天、几周甚至几月。它的单位一般是TPS、每单位时间写入磁盘的字节数等。

5.storm 为什么不用python写?
其实storm可以用很多种语言写,只是根据自身的业务需求来选择使用什么语言来开发

展示大数据的结果用啥工具呀?
a. 开源大数据生态圈
Hadoop HDFS、Hadoop MapReduce, HBase、Hive 渐次诞生,早期Hadoop生态圈逐步形成。
开源生态圈活跃,并免费,但Hadoop对技术要求高,实时性稍差。
b. 商用大数据分析工具
一体机数据库/数据仓库
IBM PureData(Netezza), Oracle Exadata, SAP Hana等等。
数据仓库
Teradata AsterData, EMC GreenPlum, HP Vertica 等等。
数据集市
QlikView、 Tableau 、国内永洪科技Yonghong Data Mart 等等。
c.前端展现
用于展现分析的前端开源工具有JasperSoft,Pentaho, Spagobi, Openi, Birt等等。
用于展现分析商用分析工具有Cognos,BO, Microsoft, Oracle,Microstrategy,QlikView、 Tableau 、 国内永洪科技Yonghong Z-Suite等等。

6.blot的数量有限制嘛?
理论上没有,设置多了跟集群有关

7.spouts是进程还是线程?
线程 blot 也是线程

8.如果bolt挂掉 其他bolt能立即接管嘛?
可以接管,因为bolt是一个连接池的机制,当一个bolt挂掉之后,会重新分配一个bolt立即接管挂掉的bolt

9.啥是RPC?
RPC,即 Remote Procedure Call(远程过程调用),说得通俗一点就是:调用远程计算机上的服务,就像调用本地服务一样。

10.可指定emit多个stream流?
待补充

11.标准输入流 只能有一个么?
一般都只有一个

12.什么时候用多个spout ?应用场景?
可以,需要根据自己的业务来调整,比如一个冷水管,和一个热水管,这两个水管可以同时供水。而且也可以根据需要将冷水和热水汇合

13.bolt输出结果可以返回给任一bolt吗?还是只会返给spout?
一般不要返回给spout,因为大部分场景spout直管出,不管入,当然也有特殊场景(不常用)

14.同一patition 到同一reduce中 4个reduce 最后还要进行一次reduce么 因为要全局排序?
待补充

15.mapreduce做的不是局部的排序吗,怎么保证全局排序?
待补充

16.storm只走内存,产生的结果怎么处理的?
直接存储到数据库,然后再对外展示

0 个评论

要回复文章请先登录注册