大数据技术概述(三)——编程语言的选择

文章目录

1.6编程语言的选择

大数据编程一般会使用Java、Scala和python等编程语言,Flink目前也支持上述3种语言。

1.6.1java和Scala

Java支持多线程,其生态圈中可用的第三方库众多。Java虚拟机(Java Virtval Machine,JVM)保证了程序的可移植性,可以快速部署到不同计算机上,是很多分布式系统首选的编程语言,比如Hadoop和Flink的绝大多数代码都是用Java编写的,这些框架提供了丰富的文档,网络社区的支持。

Scala是一门基于JVM的编程语言。Scala的特色是函数式编程。在并行计算方面,Scala支持Actor模型,Actor模型是一种更为先进的并行计算编程模型,很多大数据框架都基于Actor模型。Spark、Flink和Kafka都是基于Actor模型的大数据框架。Scala可以直接调用Java的代码,相比Java,Scala代码更为简洁和紧凑。

1.6.2Python

Python有大量第三方库,支持Web、科学计算和机器学习,被广泛应用到人工智能领域。大数据生态圈的各项技术对Python支持力度也很大,Hadoop、Spark、Kafka、HBase等技术都有Python版本的API。Flink的Python API名为PyFlink,相比于Java和Scala还不够完善,且PyFlink在不断迭代、完善。

1.6.3SQL

SQL并不是一种全能的编程语言,而是一种在数据库上对数据进行操作的语言。Flink把面向结构化查询的需求封装成了表(Table),对外提供Table API和SQL的调用接口,提供了非常成熟的SQL支持。

相关推荐
激昂网络14 分钟前
android kernel代码 common-android13-5.15 下载 编译
android·大数据·elasticsearch
跟橙姐学代码17 分钟前
学Python必须迈过的一道坎:类和对象到底是什么鬼?
前端·python
UserNamezhangxi24 分钟前
kotlin 协程笔记
java·笔记·kotlin·协程
绝缘体134 分钟前
折扣大牌点餐api接口对接适合本地生活吗?
大数据·网络·搜索引擎·pygame
咖啡里的茶i34 分钟前
数字化图书管理系统设计实践(java)
java·课程设计
卡洛斯(编程版43 分钟前
(1) 哈希表全思路-20天刷完Leetcode Hot 100计划
python·算法·leetcode
九转苍翎1 小时前
Java内功修炼(2)——线程安全三剑客:synchronized、volatile与wait/notify
java·thread
曲莫终1 小时前
正则表达式删除注释和多余换航
java·kotlin
君不见,青丝成雪1 小时前
浅看架构理论(二)
大数据·架构
FreakStudio1 小时前
一文速通 Python 并行计算:教程总结
python·pycharm·嵌入式·面向对象·并行计算