• 什么是Spark(三)数据的加载和保存


      Spark内置了一些常见的文件格式的处理,包括text/json,csv,sequence等;Spark对于文件处理保持了开放性,还提供了可以通过InputFormat,OutputFormat来进行文件处理;这样只要是Hdfs支持文件格式,一定有对应的Format,只要有Input/OutputFormat,就可以在spark中进行读写操作。
      Spark对于文件的读写有两类API,其实并不是Spark的两套API,而是Hadoop框架从0.2.0开始就是新老两套API,这两套API主要是设计和扩展性方面的不同,逻辑和效率差别并不大;使用的时候尽量统一。
      关于文件的读写,还有就是在为了减少系统在传输上面的压力,Spark内置压缩方式,这样在传输的过程可以减少压力。注意的是压缩的算法需要在各个机器上面都支持才可以;而且在性能上也是有一个权衡,毕竟压缩传输是需要在端对数据进行处理,网络传输时间vs压缩、解压缩处理需要进行平衡和测试。不过对于网络压力比较大的场景,压缩还是应该提倡,毕竟网络资源属于共享资源,发生阻塞损失也会比较大;但是如果解压缩、压缩对于单点机器也是压力,那么也是要考虑;关键还是模拟场景进行测试。但是要注意一点,压缩是存储的事情(是Hdfs决定的);spark只是根据Hdfs的定义来做相应的调整。
      spark除了可以针对文件进行处理,支持的其他数据源以及访问数据源方式:jdbc,HBase,Cassandra,ElacsSearch(当然本质也是读取文件);
      另外spark支持的文件操作系统包括:常规的操作系统自带文件系统,Hdfs,S3;

      Spark SQL结构化数据:DataFrame,在作者成书的年代,还叫做Schema RDD,其实也挺形象,因为DataFrame是由两部分组成:schema+RDD,Schema就是数据的列信息;RDD就是数据的描述。

     

  • 相关阅读:
    [BZOJ3812]主旋律
    【二分答案】【最大流】[HNOI2007]紧急疏散EVACUATE
    【费用流】NOI2008志愿者招募
    【bzoj1594】猜数游戏
    【贪心】Highway
    【数形结合】Erratic Expansion
    【斜率优化】Average
    【思维】Stacks of Flapjacks
    【二分】Defense Lines
    【DFS】【打表】Lattice Animals
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/8646329.html
Copyright © 2020-2023  润新知