无法从 spark 创建 Hive 表
Posted
技术标签:
【中文标题】无法从 spark 创建 Hive 表【英文标题】:Unable to create Hive table from spark 【发布时间】:2018-03-06 09:43:56 【问题描述】:我正在尝试使用 Spark 创建配置单元表。 我收到以下错误 -
+- TungstenAggregate(key=[rpt_prd#244,country_code#240,product_code#242], functions=[(count(1),mode=Partial,isDistinct=false)], output=[rpt_prd#244,co
untry_code#240,product_code#242,count#832L])
+- HiveTableScan [rpt_prd#244,country_code#240,product_code#242], MetastoreRelation gfrrtnsd_standardization, pln_arrg_dim, None, [(country_code#24
0 = HK)]
org.apache.spark.sql.catalyst.errors.package$TreeNodeException: execute, tree:
TungstenExchange hashpartitioning(rpt_prd#236,200), None
+- Sort [rpt_prd#236 ASC], true, 0
+- ConvertToUnsafe
+- Exchange rangepartitioning(rpt_prd#236 ASC,200), None
+- ConvertToSafe
+- TungstenAggregate(key=[rpt_prd#244,country_code#240,product_code#242], functions=[(count(1),mode=Final,isDistinct=false)], output=[rpt_prd#236,Dim_countr
y_code#237,Dim_product_code#238,Dim_recordCount#239L])
+- TungstenExchange hashpartitioning(rpt_prd#244,country_code#240,product_code#242,200), None
+- TungstenAggregate(key=[rpt_prd#244,country_code#240,product_code#242], functions=[(count(1),mode=Partial,isDistinct=false)], output=[rpt_prd#244,co
untry_code#240,product_c`enter code here`ode#242,count#832L])
+- HiveTableScan [rpt_prd#244,country_code#240,product_code#242], MetastoreRelation gfrrtnsd_standardization, pln_arrg_dim, None, [(country_code#24
0 = HK)]
请协助从 spark 中创建 hive 表。
【问题讨论】:
【参考方案1】:大多数树节点异常将发生在以下情况。
假设您有一个数据框 df1,并通过应用一些转换创建了一个新的数据框 df2,而后者将 df1 与 df2 连接会导致最近版本中的树树节点异常。
所以解决方案可能是
您必须创建数据框 df1 并创建一个与 df1 相同的新数据框 df2 并在 df2 上应用转换并创建 df3 然后使用 df3 和 df1 进行连接操作。
【讨论】:
感谢您必须创建数据框 df1 并创建一个与 df1 相同的新数据框 df2 并在 df2 上应用转换并创建 df3 然后使用 df3 和 df1 进行连接操作。 谢谢阿秋。请为“”您必须创建数据框 df1 并创建与 df1 相同的新数据框 df2 并在 df2 上应用转换并创建 df3 然后使用 df3 和 df1 进行连接操作”提供更多详细信息。”我不太清楚跨度> 我使用的是 spark 1.6以上是关于无法从 spark 创建 Hive 表的主要内容,如果未能解决你的问题,请参考以下文章
使用 API 而不是 SQL 从 Spark 创建 Hive 表?
带有 hive 的 pyspark - 无法正确创建分区并从数据框中保存表