当前位置: 首页 > news >正文

seo做子网站国内可访问的海外网站和应用

seo做子网站,国内可访问的海外网站和应用,中国建设银行山东省分行网站,seo的关键词无需曾经红遍一时的Scala 想当初Spark横空出世之后,Scala简直就是语言界的一颗璀璨新星,惹得大家纷纷侧目,连Kafka这类技术框架也选择用Scala语言进行开发重构。 可如今,Flink竟然公开宣布弃用Scala 在Flink1.18的官方文档里&#x…

曾经红遍一时的Scala

想当初Spark横空出世之后,Scala简直就是语言界的一颗璀璨新星,惹得大家纷纷侧目,连Kafka这类技术框架也选择用Scala语言进行开发重构。
可如今,Flink竟然公开宣布弃用Scala

在Flink1.18的官方文档里,有一句非常严肃的话:所有的Flink Scala APIs已被标记为废弃,且将在未来版本中予以移除。

All Flink Scala APIs are deprecated and will be removed in a future Flink version. You can still build your application in Scala, but you should move to the Java version of either the DataStream and/or Table API.See FLIP-265 Deprecate and remove Scala API support

究竟为何Flink舍弃Scala?

为了一探究竟,我特地研究了FLIP-265 Deprecate and remove Scala API support的文档,其中内容如下。

Flink通过APIs方式来构建DataStream和TableAPI程序。这些是用Java和Scala写的。PythonAPI在底层使用JavaAPI。随着时间的推移,Flink社区的主要焦点已经转向JavaAPI,而Flink中的Scala支持与JavaAPI并不同步。举几个例子:

Flink仍然仅支持Scala2.12.7,如果要升级的画,只能通过破坏兼容性升级到更高版本
截止到目前为止,Flink还不支持Scala2.13
与Scala中的DataStreamAPI 相比,Java中的DataStreamAPI具有更多可用功能。例如Async I/O

Flink中Scala现状可以总结为( 机翻 ):

大多数与Scala相关的贡献都集中在阻止用户在任何Scala版本中使用JavaAPI
Flink社区缺乏具有Scala知识的维护人员,可以帮助直接在Flink中转发Scala支持
添加到Flink的新API接口首先是为Java创建的,在Scala中没有或只有有限的支持
开源社区正在制定举措来帮助Flink中的Scala支持,例如https://github.com/ariskk/flink4s(为Scala3用户包装JavaAPI)和https://github.com/findify/flink-adt(取代了flink-scala 中的TypeInformation派生机制)

至于Scala版本之间的兼容性为何总是那么差,其实很简单:

当年Scala刚创出个头角时,并未面临着保持兼容性的压力,因为那时的它并不吃香,也未受到大型企业的青睐。正是这种无人关注的状态,使得维持兼容性变得无所谓。直至Scala 2.7.x版本前后,它开始呈现出崛起之势,一些新兴企业,比如Twitter,纷纷将其作为首选,由此一来,向后兼容性才成了头等大事。

在Scala 2.8.0开始起航之时,该语言引入了一套特殊规则以最大程度上保持兼容性。对于Scala2来说,版本划分更为明确:2.major.minor,只要主版本保持不变,次要版本之间就能做到完美兼容。主版本的跨越往往会破坏二进制兼容性,也就意味着编译生成的目标代码可能存在差异。

我曾与业界大佬咨询过这个问题,他的回答是:主版本跨度导致二进制兼容性遭受破坏的根本原因在于,JVM字节码并不是特别为Scala而生的,而是专为Java量身定做。当Scala引入新的特性时,JVM并不会主动调整以支持这些新功能,因此Scala必须在编译器生成的字节码中实现,

另外,当呼声极高的Java8集锦登场之际,Java和JVM携手新增了诸多新功能,这些新功能需要改变 Scala的执行机制,以便更好地与Java8代码相互融合,这也破坏了二进制兼容性。

但Scala3将引入一个特定的Scala的中间“字节码”,这将允许不同的版本保持彼此的兼容性。
破案

Flink抛弃Scala的主要原因是因为,社区缺少Scala相关的人员,并且新的Api都是Java的,另外因为兼容性问题,Scala和JavaApi的发展并不同步。综上,Flink抛弃Scala

为什么选择Java作为Apache Flink的首选API

选择Java作为Apache Flink的首选API,是因为Java提供了一个稳定可靠的平台,适合大规模的计算和流处理。Java拥有丰富的库和工具,可以帮助开发者更高效地实现各种计算逻辑。此外,Java的生态系统也非常庞大,包含了很多优秀的工具和库,使开发者能够更轻松地开发和维护Flink应用。Java的可移植性和跨平台性也是其受欢迎的原因之一。无论开发者身处何地,他们都可以使用Java开发Flink应用,并且在不同的平台上进行部署和运行。另外,Java社区的活跃程度也是不容忽视的,Java的开发者群体庞大且经验丰富,他们可以为Flink提供宝贵的支持和指导,从而帮助用户更好地使用和优化Flink的功能。总的来说,Apache Flink选择使用Java API,是基于Java的稳定性、可移植性、生态系统、社区活跃度等方面的综合考量

http://www.ds6.com.cn/news/15591.html

相关文章:

  • 免费云服务器有哪些广西seo关键词怎么优化
  • 兰州拼团网站建设淘宝关键词排名怎么查
  • 武清做网站的公司网页制作公司排名
  • 如何建b2c网站推广联系方式
  • 58同城做网站被骗荆门网络推广
  • 做外贸用什么搜索网站seo排名点击 seo查询
  • 张店政府网站建设公司百度有钱花人工客服
  • 光明区住房和建设局网站近期新闻大事
  • 电子商务网站建设核心app推广方式
  • 最靠谱的六个网上批发网站推广普通话演讲稿
  • 专门做布料的网站站长论坛
  • 兰州移动端网站建设优化游戏性能的软件
  • 电商网站开发人员配置怎么创建自己的网站
  • 本地的响应式网站建设创建网站要钱吗
  • 专业做网站排名多少钱百度怎么发帖做推广
  • 自己做企业网站爱站网关键词查询网站的工具
  • 医院网站信息化有哪些建设规范国内做seo最好公司
  • 哪个网站专业做饲料沈阳seo代理计费
  • 专做视频素材的网站深圳推广系统
  • 邯郸做移动网站报价百度热点榜单
  • 网站建设科技有限公司香飘飘奶茶软文
  • 网站的前端和后端做外贸怎么推广
  • 网站设计师的工作内容aso优化平台有哪些
  • 秦皇岛网站制作代理商快速seo关键词优化技巧
  • 企业网站制作流程图宁波网站推广平台效果好
  • 新疆电力建设有限公司网站百度提交入口地址在哪
  • 湖南省住房建设厅网站厦门百度seo公司
  • 做视频网站版权怎么解决app001推广平台
  • 建设一个自己的网站首页东莞seo建站推广费用
  • 刘涛给孩子网站做的广告seo首页关键词优化