HDFS上分布式文件存储,成为大数据平台首选存储平台。而Spark往往以HDFS文件为输入,为保持兼容性,Spark支持多种格式文件读取,大数据场景下,性能瓶颈往往是IO,而不是CPU算力,所以对文件的压缩处理成为了很必要的手段。Spark为提供兼容性,同时支持多种压缩包直接读取,方便于用户使用,不用提前对压缩格式处理,但各种压缩格式各有优缺点,若不注意将导致Spark的能力无法发挥出来。故对Spark计算压缩文件做一个分析。
从零开始,构建第一个Apache Flink应用程序
对于什么是流处理,从不同的角度有不同的定义。其实流处理与批处理这两个概念是对立统一的,它们的关系有点类似于对于 Java 中的 ArrayList 中的元素,是直接看作一个有限数据集并用下标去访问,还是用迭代器去访问。
Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速计算。
Apache Zeppelin 是一个可以进行大数据可视化分析的交互式开发系统,可以承担数据接入、数据发现、数据分析、数据可视化、数据协作等任务,其前端提供丰富的可视化图形库,不限于SparkSQL,后端支持HBase、Flink 等大数据系统以插件扩展的方式,并支持Spark、Python、JDBC、Markdown、Shell 等各种常用Interpreter,这使得开发者可以方便地使用SQL 在 Zeppelin 中做数据开发。在 Zeppelin 中还可以完成机器学习的数据预处理、算法开发和调试、算法作业调度的工作,同时,Zeppelin 还提供了单机 Docker、分布式、K8s、Yarn 四种系统运行模式,以适应各类团队的需求。
当数据集超过一个单独的物理计算机的存储能力时,便有必要将它分部到多个独立的计算机。管理跨计算机网络存储的文件系统成为分布式文件系统。因为它们是基于网络的,所有网络编程的复杂性都会随之而来,所以分布式文件系统比普通磁盘文件系统更复杂。使这个文件系统能容忍节点故障而不损失数据就是一个极大的挑战。