gpt4 book ai didi

hadoop - pySpark 如何将 TempView 表加入到 Hive 表

转载 作者:可可西里 更新时间:2023-11-01 15:26:27 26 4
gpt4 key购买 nike

我有一个注册为 tempView 的 dataFrame 和一个要加入的 Hive 表

    df1.createOrReplaceTempView("mydata")

df2 = spark.sql("Select md.column1,md.column2,mht.column1 \
from mydata md inner join myHivetable mht on mht.key1 = md.key1 \
where mht.transdate between '2017-08-01' and '2017-08-10' ")

这个连接是如何发生的。如果Hive表中的数据量很大,spark会尝试将hive表读入内存或者决定将tempView表写入hive。

在第一个答案后添加以下内容以获取更多详细信息:

假设我们有

100 行作为 Spark 中名为 TABLE_A 的临时 View 。

Hive TABLE_B 中的 10 亿行表。

下一步我们需要加入 TABLE_A 和 TABLE_B。

TABLE_B 上有一个日期范围条件。

因为表 TABLE_B 很大。将 spark 将整个表 TABLE_B 读入内存或决定将 TABLE_A 写入 Hadoop 中的临时空间以执行 Hive Join 或者它将如何智能地找出执行连接以提高性能的最佳方式

最佳答案

Hive 上下文将已注册临时表/ View 的信息存储在 Metastore 中。这允许对数据执行类似 SQL 的查询操作 - 我们仍然可以获得与其他方式相同的性能。

可以阅读更多关于此的信息herehere

关于hadoop - pySpark 如何将 TempView 表加入到 Hive 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45891196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com