千家信息网

Spark是一种基本的开源大数据技术

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,火花前的时间(http://www.3if0.com)要了解Spark的潜力,它有助于在十年前回顾大数据的形状。在2008 - 2009年,大数据即业务概念经常与Hadoop技术混为一谈。Hadoop
千家信息网最后更新 2025年12月03日Spark是一种基本的开源大数据技术

火花前的时间(http://www.3if0.com)
要了解Spark的潜力,它有助于在十年前回顾大数据的形状。在2008 - 2009年,大数据即业务概念经常与Hadoop技术混为一谈。Hadoop是一个开源框架,用于管理在MapReduce编程任务上运行的集群(多台计算机的网络)。MapReduce是Google于2004年推广的一种编程模型,用于构建大型数据集的收集和分析。十年前,范式大数据项目被编码为应用于特定域数据的MapReduce批处理,然后在Hadoop管理的集群上执行。大数据和Hadoop如此密切地确定了几年之后,那些不熟悉大数据的部门(例如风险资本家,公关公司,人力资源部门)在他们的广告和其他写作中众所周知地混淆了两者。

Hadoop强调批处理对于迭代和交互式作业来说是笨拙的。更重要的是,Hadoop的MapReduce解释假设数据集驻留在Hadoop分布式文件系统(HDFS)中。许多(可能是大多数)数据集令人不舒服地适合这个模型。例如,高性能机器学习强调内存处理,而不常使用文件系统大容量存储。

Spark,"用于大规模数据处理的统一分析引擎",始于2009年的Berkeley类项目,强调:

通过重用HDFS作为存储层与Hadoop兼容。

交互式查询。

支持机器学习。

流水线操作(即易于连接不同的执行单元,以便可以实现复杂的计算,作为通过连续计算阶段传递数据的"桶式旅")。

Spark还在几个方面具有灵活性,包括它所服务的不同编程语言,可以租用的云以及它集成的大数据库。

Spark vs. Hadoop
Spark通常比Hadoop更快,因此可以更好地安装Spark的内存模型,最多可以有100多个作业。Spark针对典型的ML任务进行了调整,如NaiveBayes和K-Means计算,还可以帮助节省时间并减轻硬件限制。然而,早期的Spark项目以泄露记忆而闻名,至少在新手的手中。此外,长期运行的批处理MapReduce作业似乎更容易使用Hadoop。

Spark也是一个更通用的编程框架,如上所述,下面的例子更详细地说明。Hadoop将大数据设想为Java编码的MapReduce操作,而且非常不灵活; 相比之下,Spark的学习曲线远不那么陡峭。Python,Java,Scala,R甚至SQL中的传统程序几乎可以立即开始在传统桌面上编写熟悉的程序,同时利用Spark的强大功能。Spark的官方网站有几个令人回味的例子。在Python中考虑这个单词计数器:

进口 pyspark
source = "file:// ..."
result = "file:// ..."
与 pyspark。SparkContext("local","WordCount")为 sc:
text_file = sc。textFile(来源)
counts = text_file。flatMap(拉姆达 线:线。分裂("
"))
。map(lambda word:(word,1))
。reduceByKey(lambda a,b:a + b)
很重要。saveAsTextFile(result)
任何Python程序员都可以读到这个。虽然它在低功耗的开发主机上运行,但它在Docker-ized Spark,Sparkon工业级云集群,实验性超级计算机,高运行时间大型机等方面也保持不变。此外,使用传统的Python编程很容易改进这样的例子; 后续示例可能是:

进口 重新
进口 pyspark
source = "file:// ..."
result = "file:// ..."
def better_word_splitter(line):
"""
使用负面的后视来分割所有
空白,但每个空格只有一次
序列。
"""
返回 重。分裂("(?<!\ S) S" ,线。条())
与 pyspark。SparkContext("local","WordCount2")为 sc:
text_file = sc。textFile(来源)
counts = text_file。flatMap(better_word_splitter)\
。地图(拉姆达 字:(字,1))\
。reduceByKey(lambda a,b:a + b)
很重要。saveAsTextFile(结果
Spark肯定比Hadoop更新,并且声誉不太广泛。同时,Spark补充并概括了Hadoop,因此现有的ETL转换,ML,图形分析,OLAP,数据集流,时间序列分析或交互式和实验查询等编程领域的专家可以逐步采用Spark。此外,Spark将这些不同的域结合起来,简化了架构设计; 特定结果所需的所有内容都可以在单个管道中编写,并在标准Spark集群上计算。

来自官方(http://www.3if0.com)Spark Apache网站的另一个例子 - 这次是在Scala中 - 展示了Spark集成的一些功能。不久前,预测分析是研究生院的一项工作; 现在,Spark的力量使它成为一个单线:

//此DataFrame的每条记录都包含标签和
//由向量表示的要素。
val df = sqlContext。createDataFrame(data)。
toDF("标签","功能")
//设置算法的参数。
//在这里,我们将迭代次数限制为10。
val lr = new LogisticRegression()。setMaxIter(10)
//使模型适合数据。
val model = lr。适合(df)
//检查模型:获取要素权重。
val weights = model。权重
//给定数据集,预测每个点的标签,以及
显示 的 结果。
模特。变换(df)。show()
Spark在通用编程语言(如Scala)中的曝光意味着可以轻松扩展,调整和集成这些强大的结果与其他组织资产。在过去,大数据往往是一个孤立的专业化。Spark的优势为更广泛的程序员和项目带来了大量数据。

请记住Spark带来的操作:一旦程序正确,它将会很快,并且能够通过Spark管理一系列集群的能力进行英雄缩放。

准备好出发
所有这些功能听起来不错。但对于依赖百万美元硬件的项目,Spark是否真的安全,更不用说专有数据的价值和安全性了?是! 包括GoDaddy,阿里巴巴和Shopify 在内的数十亿美元的公司依靠Spark提供关键服务和结果。

作为一个知识产权,Hadoop在2011年与Apache软件基金会建立了一个创新的所有权安排。Spark后来跟着同样的道路。有趣的是,在过去四年中,Spark存储库中的活动超过了较旧且通常更为突出的Hadoop存储库的活动。虽然这种比较意味着很少孤立,但它至少暗示了大量将Spark视为基础开源技术的组织

如果有的话,Spark的灵活性和集成使其成为比Hadoop或其他替代品更安全的选择。虽然Hadoop本身表现得很可靠,但是有太多基于Hadoop的项目在与MapReduce聚焦的内核接口方面遇到了麻烦; MapReduce部分是正确的,但它周围的包装器连接到其他组织资产最终是新颖的,相应地摇摇欲坠。相比之下,Spark更通用的框架邀请了一种方便,值得信赖的界面,这些界面有助于整个项目的成功。

结论
三年前,Derrick Harris在为业务受众总结Spark时说得对:"(http://www.3if0.com)Spark比Hadoop MapReduce更快,更灵活,更易于使用。" Spark的复杂内存处理使其更快 - 有时达到数量级。Spark为图形,流媒体,ML等提供了丰富的API,甚至可以管理Spark自己的内存加速。Spark构建在管道中并支持多个集群设施。程序员可以使用五种语言中的任何一种,而不仅仅是Hadoop的Java基础。

由于所有这些原因,Spark的增长只会在未来几年内增加。Spark是大数据从业者最需要了解的技术之一。

更多:(http://www.3if0.com)


数据 项目 编程 程序 模型 结果 集群 分析 例子 内存 功能 时间 存储 管理 运行 技术 不同 重要 安全 交互式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 外包软件开发模板 服务器主板不识别百兆路由器 工业网络技术专业工资 服务器安装和配置需要注意什么 网络安全学习容易吗 ie8显示已阻止此网络安全 今日头条软件开发需要多少钱 唐山比较好的软件开发公司 bim数据库申请 湖南网络安全资讯实战教学 软件开发进货 天津办公软件开发 MES系统服务器及软件 宁夏办公软件开发哪家专业 数据库集群关键技术 管家婆的数据库密码忘记了 腾讯服务器采用的什么品牌 数据库的概念视图包含哪些对象 信息网络安全手抄报文字 1) 数据库技术 欧洲 代理服务器 电脑读取不了文件显示服务器错误 网络安全工作短期目标和长远规划 山西常用软件开发市场报价 魔兽世界单机数据库代码含义 服务器与路由器连接方法 宁波手机游戏软件开发怎么选 计算机网络技术蓝牙PPT 服务器硬件和软件如何安装 软件开发专业培训学校
0