【问题标题】:I want to use data only for spark then which file format is best for hive?我只想将数据用于 spark 那么哪种文件格式最适合 hive?
【发布时间】:2019-06-15 06:14:41
【问题描述】:

我只想为 spark 访问表,那么我应该以哪种格式将表数据存储在 hive 中? (orc or parquet or avro or csv or text or sequence) ??为什么??

我不会在任何地方使用这个表,我只是用于 spark 而已。

【问题讨论】:

  • 非常广泛,卷?
  • 非常广泛,目的?报告、分析、随机访问?
  • 用于分析目的

标签: apache-spark hadoop hive


【解决方案1】:

由于这个问题还没有结束,我将尝试回答并提供一些论据。

  1. 自从 Spark 2.3 添加了原生 ORC 支持并修复了许多 ORC 问题,例如矢量化读写、谓词下推、模式演变、索引和布隆过滤器使用以及许多其他改进和修复。在 Spark 2.3 更好地使用 Parquet 之前,它的运行速度要快得多并且没有很多问题。此外,根据 Hortonworks 的介绍,一些复杂的类型不能在原生支持的 ORC 中使用,ORC 原生 ACID 支持也在进行中。如果这些限制很重要,请使用 Parquet。

  2. Hive 从一开始就在 MR 和 Tez 上更好地支持 ORC:矢量化、PPD 和 ACID 将在 Hive 中很好地与 ORC 配合使用。你说它只会在 Spark 中使用,但谁知道谁也会查询你的表以及你为什么在问题中提到 Hive。分析/BI 软件可能使用 Hive,而不是 Spark。

  3. 您还提到的序列格式、文本文件和 avro 甚至无法与 ORC 和 Parquet 相比,因为缺少 PPD、矢量化和 ACID 等许多功能。 Sequence 是一个可拆分的容器,Parquet 或 ORC 不需要,它们也是可拆分的。

查看此 Hortonworks 演示文稿:orc-improvement-in-apache-spark-2-3 - 它包含改进细节、与 Parquet 的比较、基准测试和一些限制细节。

【讨论】:

  • 你可以看到太宽泛了。
猜你喜欢
  • 1970-01-01
  • 2021-09-12
  • 1970-01-01
  • 2011-02-27
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 2018-03-15
  • 2023-03-29
相关资源
最近更新 更多