【问题标题】:Spark Dataset on Hive vs Parquet fileHive vs Parquet 文件上的 Spark 数据集
【发布时间】:2018-07-05 11:50:37
【问题描述】:

我有 2 个相同数据的实例。

  1. 以 parquet 格式名为 myData 的 Hive 表
  2. parquet 格式的 Parquet 文件(不由 Hive 管理)

考虑以下代码:

val myCoolDataSet = spark
    .sql("select * from myData")
    .select("col1", "col2")
    .as[MyDataSet]
    .filter(x => x.col1 == "Dummy")

还有这个:

val myCoolDataSet = spark
    .read
    .parquet("path_to_file")
    .select("col1", "col2")
    .as[MyDataSet]
    .filter(x => x.col1 == "Dummy")

我的问题是在性能和​​扫描数据量方面哪个更好? spark如何为这两种不同的方法计算它?

【问题讨论】:

  • 你发现不同了吗?

标签: scala apache-spark parquet


【解决方案1】:

Hive 用作存储有关 Parquet 文件的元数据。 Spark 可以利用其中包含的信息来执行有趣的优化。由于后备存储是相同的,您可能不会看到太大差异,但基于 Hive 中元数据的优化可以提供优势。

【讨论】:

  • 总结得很好
猜你喜欢
  • 2021-04-19
  • 2016-02-06
  • 2018-11-21
  • 2018-05-28
  • 2018-11-15
  • 2020-08-15
  • 2018-10-30
  • 2020-07-14
  • 2018-07-08
相关资源
最近更新 更多