020-29815005
预约专线时间:09:00-23:59

哪些是大数据处理使用的文件格式

新闻来源:优漫教育 日期:2021-06-19
大数据项目中,所有的大数据都是以什么文件格式存储的?在这篇文章中,我们将使用ApacheSpark介绍CSV、JSON、Parquet和Avro四种文件格式。
  一、CSV格式

  逗号分隔符文件CSV,通常以纯文本方式在系统之间交换表格数据。CSV是一种基于行的文件格式,这意味着表格中也有一行文件行。一般来说,CSV包含一个标题行,其中包含一组数据名称,否则CSV文件会被认为是半结构化格式。最初,CSV文件无法显示层次结构或关系型数据。通常使用多个CSV文件来组织数据链接。外键存储在列中的一个或多个文件中,但这些文件之间的链接并不表示为格式本身。此外,CSV格式还没有完全标准化,所以文件可以使用逗号之外的其他符号,例如选项卡或空格。如果CSV文件没有经过压缩,或者使用BZIP2或LZO格式,则可以使用分割。

  CSV好处:

  1、CSV的可读性很强,而且很容易编辑;

  2、CSV提供了一种简洁的信息模式。

  3、CSV可由几乎所有现有的应用程序处理。

  4)CSV易于实现和分析。

  5)简化CSV文件。若要使用XML,每行的列都需要加上开始和结束标签。并且在CSV中,只需要写下行头。

  缺陷:

  1、CSV允许平面数据的使用。除格式外,复杂数据结构也需要处理。

  2、不支持列型。文字栏和数字栏没有区别。

  3、没有标准的二进制数据表示方法。

  4、当导入CSV时,容易出现NULL和引号之间的差异。

  5、对特殊字符的支持不同。

  6.通用标准尚未制定。

  尽管CSV文件有一定的局限性,但CSV格式仍然是数据共享的理想选择,它得到了大量应用程序的广泛支持,包括消费级和科学应用产品。大部分数据批处理以及流处理工具(如Spark和Hadoop)都支持CSV文件,包括对该文件的序列化和反序列化,并且提供了一种方式来读取这些文件,也就是加入它们的架构。


大数据培训班


  二、格式JSON。

  JSON数据(JavaScript对象符号),用键/值对将数据的部分结构化格式表示出来。通常,JSON格式与XML格式比较。可按层次结构存储数据,由父数据表示子数据。JSON和XML格式都是自描述的,用户可以读到,而且JSON文档的大小通常很小。因此,JSON更多地用于网络通信,特别是基于REST的Web服务应用。

  JSON格式可用于许多数据传输,而且大多数Web设计语言都支持JSON格式,或者使用外部库将JSON数据序列化并进行反序列化。JSON具有这种通用支持,它可以显示数据结构,并作为热数据交换和冷数据存储等场景使用。在大数据中,批处理和流数据处理工具也支持JSON的序列化和反序列化,JSON中包含的数据最终用性能更好的格式替代存储,例如,dataquet或Avro,但是JSON提供的原始数据对于重新处理数据很重要。

  JSON好处:

  1、JSON支持层次结构,简化了关于在一个文档中存储数据和表示复杂关系的过程。

  2、大部分设计语言都支持简化的JSON序列化库/逆序列化。

  3、JSON支持对象列表,可以避免错误地将列表转换成一个关系数据模型。

  4、JSON广泛应用于NoSQL数据库,如MoDB、CouchbyDB和AzyCosmosDB等。

  5、目前大多数大型数据工具都内置了支持。



  三、Parquet

  Parquet于2013年发布,由Cloudera和Twitter公司设计,作为一种基于列的数据存储格式,它有许多针对多列数据集的优化。因为数据是按列存储的,所以可以使用高度压缩(压缩算法更好地处理信息熵较低的数据)和支持分割。Parquet格式的设计人员宣称,该存储格式非常适合大数据相关的存储。

  Parquet不像CSV和JSON,它是基于二进制格式的,它包含关于内容的元数据。所以,Spark不需要二次读取/解析文件的内容,而是依靠元数据来确定列名,压缩/编码,确定数据类型,甚至做一些基本的统计工作。hequet文件的列元数据存储在文件的hequet中,并且可以快速一次性写入。对于“一次写入多次读”(WORM)实例,这一类方法已经做了很多优化,尽管写起来很慢,但读起来还是很快,特别是只访问列的一个子集时。对需要大量数据读取的负载来说,dequet是个不错的选择。所以,当您需要处理整行数据时,您可以使用CSV或AVRO文件格式。

  用Parquet存储数据的好处是:

  1、Tquet是一种圆柱形存储器。只读取所需的列,可以有效降低磁盘I/O。这就是所谓的“Pushdown项目”。

  2、随着数据一起移动的数据有其自身的描述。

  事实上,这个dequet是为deFS文件系统创建的,但是数据仍然可以存储在其他文件系统中,比如GlyerFs或者NFS。dequet仅仅是一个文件,这意味着可以很容易地使用它们,包括移动、备份和复制。在使用像snappy这样的压缩格式时,dequet可以提供极高的压缩比,高达75%。与其他文件格式相比,如实践显示,该格式是读取工作流最快的格式。