Hive Pyspark数据帧连接需要很长时间

Hive Pyspark数据帧连接需要很长时间,hive,pyspark,apache-spark-sql,pyspark-sql,Hive,Pyspark,Apache Spark Sql,Pyspark Sql,我在pyspark中有2个数据帧,我使用2个sparksql查询从配置单元数据库加载 当我尝试使用df1.join(df2,df1.id_1=df2.id_2)连接这两个数据帧时,需要很长时间。 当我调用连接时,Spark是否重新执行df1和df2的SQL 底层数据库是HIVEPyspark将比使用Scala慢,因为数据序列化发生在Python进程和JVM之间,并且工作是在Python中完成的。Pyspark将比使用Scala慢,因为数据序列化发生在Python进程和JVM之间,工作是用Pyth

我在pyspark中有2个数据帧,我使用2个sparksql查询从配置单元数据库加载

当我尝试使用
df1.join(df2,df1.id_1=df2.id_2)
连接这两个数据帧时,需要很长时间。 当我调用连接时,Spark是否重新执行df1和df2的SQL


底层数据库是HIVE

Pyspark将比使用Scala慢,因为数据序列化发生在Python进程和JVM之间,并且工作是在Python中完成的。

Pyspark将比使用Scala慢,因为数据序列化发生在Python进程和JVM之间,工作是用Python完成的。

您是在寻找一种更快的方式来加入数据帧(在这种情况下,详细说明您的设置/数据、explain()所说的内容等可能会有所帮助),还是问题实际上是关于SQL的“重新执行”(在这种情况下,更具体地说明您所拥有的代码和您所指的SQL是有帮助的)您是否希望以更快的方式加入数据帧(在这种情况下,可能有助于详细说明您的设置/数据、explain()说了什么等),或者问题实际上是关于SQL的“重新执行”吗(在这种情况下,更具体地说明您拥有的代码和您所指的SQL是什么会有帮助的)这是不正确的。由于Hive作为
df1
df2
df1.join(df2,df1.id_1=df2.id_2)
的源,Python执行仅限于驱动程序(最坏情况下会产生约100毫秒的延迟)。尝试并执行相同的操作,使用
spark submit--master warn cluster…
一次用于pyspark,一次用于scala。您会注意到区别。这是不正确的。将Hive作为
df1
df2
的源,
df1.join(df2,df1.id_1=df2.id_2)
,Python的执行仅限于驱动程序(最坏情况下会有大约100毫秒的延迟)。尝试执行相同的操作,使用
spark submit--master warn cluster…
一次用于pyspark,一次用于scala。您会注意到差异。