ApacheSpark2.
4正式发布,重要功能详细介绍美国时间2018年11月08日正式发布了.
一如既往,为了继续实现Spark更快,更轻松,更智能的目标,Spark2.
4带来了许多新功能,如下:添加一种支持屏障模式(barriermode)的调度器,以便与基于MPI的程序更好地集成,例如,分布式深度学习框架;引入了许多内置的高阶函数,以便更容易处理复杂的数据类型(比如数组和map);开始支持Scala2.
12;允许我们对notebooks中的DataFrame进行热切求值(eagerevaluation),以便于调试和排除故障;引入新的内置Avro数据源.
如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop除了这些新功能外,该版本还重点关注可用性,稳定性和优化,解决了超过1000个tickets.
Spark贡献者的其他显着特征包括:消除2GB块大小的限制[SPARK-24296,SPARK-24307]提升PandasUDF[SPARK-22274,SPARK-22239,SPARK-24624]图片模式数据源(Imageschemadatasource)[SPARK-22666]SparkSQL加强[SPARK-23803,SPARK-4502,SPARK-24035,SPARK-24596,SPARK-19355]内置文件源改进[SPARK-23456,SPARK-24576,SPARK-25419,SPARK-23972,SPARK-19018,SPARK-24244]1/5Kubernetes整合加强[SPARK-23984,SPARK-23146]在这篇文章中,我们简要总结了一些更高级别的功能和改进.
有关Spark所有组件和JIRA已解决的主要功能的完整列表,请阅读ApacheSpark2.
4.
0releasenotes.
BarrierExecutionModeBarrierExecutionMode是ProjectHydrogen的一部分,这是ApacheSpark的一项计划,旨在将最先进的大数据和AI技术结合在一起.
它可以将来自AI框架的分布式训练作业正确地嵌入到Spark作业中.
我们通常会像All-Reduce这样来探讨复杂通信模式(complexcommunicationpatterns),因此所有的任务都需要同时运行.
这不符合Spark当前使用的MapReduce模式.
使用这种新的执行模式,Spark同时启动所有训练任务(例如,MPI任务),并在任务失败时重新启动所有任务.
Spark还为屏障(barriertasks)任务引入了一种新的容错机制.
当任何障碍任务在中间失败时,Spark将中止所有任务并重新启动当前stage.
内置高阶函数在Spark2.
4之前,为了直接操作复杂类型(例如数组类型),有两种典型的解决方案:将嵌套结构展开为多行,并应用某些函数,然后再次创建结构;编写用户自定义函数(UDF).
新的内置函数可以直接操作复杂类型,高阶函数可以使用匿名lambda函数直接操作复杂值,类似于UDF,但具有更好的性能.
比如以下两个高阶函数:SELECTarray_distinct(array(1,2,3,null,3));["1","2","3",null]SELECTarray_intersect(array(1,2,3),array(1,3,5));["1","3"]关于内置函数和高阶函数的进一步说明可以参见《ApacheSpark2.
4中解决复杂数据类型的内置函数和高阶函数介绍》和《ApacheSpark2.
4新增内置函数和高阶函数使用介绍》内置Avro数据源ApacheAvro是一种流行的数据序列化格式.
它广泛用于ApacheSpark和ApacheHadoop生态系统,尤其适用于基于Kafka的数据管道.
从ApacheSpark2.
4版本开始,Spark为读取和写入Avro数据提供内置支持.
新的内置spark-avro模块最初来自Databricks2/5的开源项目AvroDataSourceforApacheSpark.
除此之外,它还提供以下功能:新函数from_avro()和to_avro()用于在DataFrame中读取和写入Avro数据,而不仅仅是文件.
支持Avro逻辑类型(logicaltypes),包括Decimal,Timestamp和Date类型.
SparkSQL和Avro的数据类型之间的转换可以参见下面:SparkSQLtypeAvrotypeAvrologicaltypeByteTypeintShortTypeintBinaryTypebytesDateTypeintdateTimestampTypelongtimestamp-microsDecimalTypefixeddecimal2倍读取吞吐量提高和10%写入吞吐量提升.
支持Scala2.
12从Spark2.
4开始,Spark支持Scala2.
12,并分别与Scala2.
11和2.
12进行交叉构建,这两个版本都可以在Maven存储库和下载页面中使用.
现在,用户可以使用Scala2.
12来编写Spark应用程序.
Scala2.
12为Java8带来了更好的互操作性,Java8提供了改进的lambda函数序列化.
它还包括用户期望的新功能和错误修复.
PandasUDF提升PandasUDF是从Spark2.
3开始引入的.
在此版本中,社区收集了用户的反馈,并不断改进PandasUDF.
除了错误修复之外,Spark2.
4中还有2个新功能:SPARK-22239使用PandasUDF来用户自定义窗口函数.
SPARK-22274使用PandasUDF来用户自定义聚合函数.
我们相信这些新功能将进一步改善PandasUDF的使用,我们将在下一版本中不断改进PandasUDF.
ImageDataSource3/5社区从图像/视频/音频处理行业看到了更多案例.
为这些提供Spark内置数据源简化了用户将数据导入ML训练的工作.
在Spark2.
3版本中,图像数据源是通过ImageSchema.
readImages实现的.
Spark2.
4发行版中的SPARK-22666引入了一个新的Spark数据源,它可以作为DataFrame从目录中递归加载图像文件.
现在加载图像非常简单:df=spark.
read.
format("image").
load(".
.
.
")Kubernetes整合增强Spark2.
4包含许多Kubernetes集成的增强功能.
主要包括这三点:首先,此版本支持在Kubernetes上运行容器化PySpark和SparkR应用程序.
Spark为Dockerfiles提供了Python和R绑定,供用户构建基本映像或自定义它以构建自定义映像.
其次,提供了客户端模式.
用户可以在Kubernetes集群中运行的pod里面运行交互式工具(例如,shell或notebooks).
最后,支持挂载以下类型的Kubernetesvolumes:emptyDir,hostPath和persistentVolumeClaim.
灵活的StreamingSink许多外部存储系统已经有批量连接器(batchconnectors),但并非所有外部存储系统都有流式接收器(streamingsinks).
在此版本中,即使存储系统不支持将流式传输作为接收器(streamingasasink).
streamingDF.
writeStream.
foreachBatch(.
.
.
)允许我们在每个微批次(microbatch)的输出中使用batchdatawriters.
例如,过往记忆告诉你可以使用foreachBatch中现有的ApacheCassandra连接器直接将流式查询的输出写入到Cassandra.
具体如下:/***User:过往记忆*Date:2018-11-10*Time:10:24*bolg:https://www.
iteblog.
com*本文地址:https://www.
iteblog.
com/archives/2448*过往记忆博客,专注于Hadoop、Spark、HBase等大数据技术.
*过往记忆博客微信公共帐号:iteblog_hadoop*/streamingDF.
writeStream.
foreachBatch{(iteblogBatchDF:DataFrame,batchId:Long)=>4/5iteblogBatchDF.
write//UseCassandrabatchdatasourcetowritestreamingout.
cassandraFormat(tableName,keyspace).
option("cluster","iteblog_hadoop").
mode("append").
save()}同样,你也可以使用它将每个微批输出(micro-batchoutput)应用于streamingDataFrames中,许多DataFrame/Dataset操作在streamingDataFrames是不支持的,具体使用如下:streamingDF.
writeStream.
foreachBatch{(iteblogBatchDF:DataFrame,batchId:Long)=>iteblogBatchDF.
cache()iteblogBatchDF.
write.
format(.
.
.
).
save(location1iteblogBatchDF.
write.
format(.
.
.
).
save(location2iteblogBatchDF.
uncache()}本博客文章除特别声明,全部都是原创!
转载本文请加上:转载自过往记忆(https://www.
iteblog.
com/)本文链接:【】()PoweredbyTCPDF(www.
tcpdf.
org)5/5
Megalayer 商家算是新晋的服务商,商家才开始的时候主要是以香港、美国独立服务器。后来有新增菲律宾机房,包括有VPS云服务器、独立服务器、站群服务器等产品。线路上有CN2优化带宽、全向带宽和国际带宽,这里有看到商家的特价方案有增加至9个,之前是四个的。在这篇文章中,我来整理看看。第一、香港服务器系列这里香港服务器会根据带宽的不同区别。我这里将香港机房的都整理到一个系列里。核心内存硬盘IP带宽...
趣米云怎么样?趣米云是创建于2021年的国人IDC商家,虽然刚刚成立,但站长早期为3家IDC提供技术服务,已从业2年之久,目前主要从事出售香港vps、香港独立服务器、香港站群服务器等,目前在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。由于内存资源大部分已售,而IP大量闲置,因此我们本月新增1c1g优惠套餐。点击进入:趣米云官方网站地址香港三网CN2云服务器机型活...
Webhosting24宣布自7月1日起开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,价格依旧不变。目前来看,日本VPS国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),还是有相当大的性价比的。此外在6月30日,又新增了洛杉矶机房,CPU为AMD Ryzen 9...
apache启动失败为你推荐
租用虚拟主机租用虚拟主机 与 网络空间租赁有什么区别租服务器我想租服务器,请问会提供哪些服务?vps试用求永久免费vps服务器(要永久的)国内免费空间免费空间哪个好用网站空间商哪有好一点的网站空间商?欢迎友友们给我推荐下,手机网站空间手机网页空间需要多大?虚拟主机管理系统虚拟主机管理系统那一家好?虚拟主机试用30天需要一个免费的虚拟主机,稳定的域名邮箱邮箱域名是什么备案域名购买在哪里可以买到已备案域名啊?
域名系统 泛域名 adman mediafire下载 网络星期一 淘宝双十一2018 彩虹ip 789电视 共享主机 免费申请个人网站 中国电信宽带测速网 搜索引擎提交入口 免费mysql数据库 google台湾 德隆中文网 lamp架构 windowsserver2008r2 赵荣 次时代主机 报警主机 更多