2023-11-06 23:56来源:m.sf1369.com作者:宇宇
首先以一个简单的示例开始:用Spark Streaming对从TCP连接中接收的文本进行单词计数。
/**
* 功能:用spark streaming实现的针对流式数据进行单词计数的程序。
* 该程序只是对数据流中的每一批数据进行单独的计数,而没有进行增量计数。
* 环境:spark 1.6.1, scala 2.10.4
*/
// 引入相关类库
import org.apache.spark._
import org.apache.spark.streaming._
object NetworkWordCount {
def main(args: Array[String]) {
// Spark Streaming程序以StreamingContext为起点,其内部维持了一个SparkContext的实例。
// 这里我们创建一个带有两个本地线程的StreamingContext,并设置批处理间隔为1秒。
val conf = new SparkConf().setMaster(local[2]).setAppName(梁神NetworkWordCount)
val ssc = new StreamingContext(conf, Seconds(1))
// 在一个Spark应用中默认只允许有一个SparkContext,默认地spark-shell已经为我们创建好了
// SparkContext,名为sc。因此在spark-shell中应该以下述方式创建StreamingContext,以
// 避免创建再次创建SparkContext而引起错误:
// val ssc = new StreamingContext(sc, Seconds(1))
// 创建一个从TCP连接获取流数据的DStream,其每条记录是一行文本
val lines = ssc.socketTextStream(localhost, 9999)
// 对DStream进行转换,最终得到计算结果
val res = lines.flatMap(_.split( )).map((_, 1)).reduceByKey(_ + _)
// 打印该DStream中每个RDD中的前十个元素
res.print()
// 执行完上面代码,Spark Streaming并没有真正开始处理数据,而只是记录需在数据上执行的操作。
// 当我们设置好所有需要在数据上执行的操作以后,谈渣逗我们就可以开始真正地处理数据了。如下:
ssc.start() // 开始计算
ssc.awaitTermination() // 等待计算终止
}
}
为了测试程序,我们得有TCP数据源作为输入,这可以使用Netcat(一般linux系统中都有,如果是windows系统,则推荐你使用 Ncat ,Ncat是一个改进版的Netcat)。如下使用Netcat监听指定本地端口:
nc -lk 9999
如果是使用Ncat,则对应命令如下:
ncat -lk 9999
在IntelliJ IDEA或Eclipse中可以本地运行测试上述Spark Streaming程序,该程序会连接到Netcat(或Ncat)监听的端口,你可以在运行Netcat(或Ncat)的终端中输入东东并回车,然含卖后就可以看到该Spark Streaming程序会马上输出处理结果,并且这个处理是不停的、流式的。
注意:上述示例只是对数据流中的每一批数据进行单独的计数,而没有进行增量计数。
什么是腾讯大数据处理套件TBDS?
TBDS是基于腾讯多年海量数据处理经验,集实时/离线场景高性能分析引擎、数据开发以及数据治理功能于一体的拦厅大数据平台,其核心包含TBDS大数据基础平台、多集群多租户管控平台,数据接入,数据开发,数据治理,机器学习,智能运营平台等。
TBDS产品结构分为四部分:
平台运维和管理能力:为大数据平台基础的配置、启停、监控、告警、诊断、审计、安全管控等基础能力;高性能数据分析引擎:基于分布式存储和资源调度能力,分析引擎覆盖了在线数据计算、离线数据分析、近线数据分析、流式数据分析等大数据分析场景;
数据开发微服务:提供包含实时/离线数据集成、数据自由探索、数据开发IDE以及可视化机器学习等大数据开发工具支持,使数据开发者能高效进行大数据开发;数据治理微服务:提供技术/业务层面的元数据管理、数据生命周期管理、数据血缘管理、数据地图、数据质量以及数据访问审计等能力,使业务数据能得到有效组织和管理。
腾讯大数据处理套件TBDS的创新和核心优势,TBDS通过乐高架构,融合多个组件系统,构建开箱即用的大数据平台,提供拖拽式的可视化数据开发IDE及机器学习平台,可支持信衡衡用户自定义功能,具有非常好的产品扩展性。为客户的大数据集成、存储、计滑做算环节提供完整而稳定的企业级解决方案。客户能借助于TBDS快速构建中台能力,聚焦于进行企业的业务创新。
TBDS是基于腾讯多年海量数据处理经验,集尘姿实时/离线场景高性能分析引擎、数据开发以及数据治派弊绝理功能于一体的大数据平台,其核心包含TBDS大数据基础平台、多集群卜洞多租户管控平台,数据接入,数据开发,数据治理,机器学习,智能运营平台等
腾讯大数据处理套件(Tencent Big Data Suite,以下简称TBDS)TBDS凭借过硬的产品实力,以及政府、金融、工业等领域大量的行业应用塌旅唤,从1706个案例中脱颖而出,荣登数镇蚂博会2019“十佳大数据案例”以及“全国百家大数据优秀案团凯例”榜单
技术开放 ,支持多驱动接掘宽入大肢 ,安全可靠 ,国际认证的系判仿亮统安全加固技术保障系统级数据安全, 性能卓越,高性能数据接入引擎 简单易用,支持一键式部署
它有着无可比拟的运行速度和不可预测的运行能力