gpt4 book ai didi

apache-spark - "INSERT INTO ..."使用 SparkSQL HiveContext

转载 作者:行者123 更新时间:2023-12-03 11:09:07 26 4
gpt4 key购买 nike

我正在尝试使用我的 HiveContext 运行插入语句,如下所示:

hiveContext.sql('insert into my_table (id, score) values (1, 10)')

1.5.2 Spark SQL Documentation虽然它确实支持“动态分区插入”,但没有明确说明是否支持。

这会导致堆栈跟踪,例如
AnalysisException: 
Unsupported language features in query: insert into my_table (id, score) values (1, 10)
TOK_QUERY 0, 0,20, 0
TOK_FROM 0, -1,20, 0
TOK_VIRTUAL_TABLE 0, -1,20, 0
TOK_VIRTUAL_TABREF 0, -1,-1, 0
TOK_ANONYMOUS 0, -1,-1, 0
TOK_VALUES_TABLE 1, 13,20, 41
TOK_VALUE_ROW 1, 15,20, 41
1 1, 16,16, 41
10 1, 19,19, 44
TOK_INSERT 1, 0,-1, 12
TOK_INSERT_INTO 1, 0,11, 12
TOK_TAB 1, 4,4, 12
TOK_TABNAME 1, 4,4, 12
my_table 1, 4,4, 12
TOK_TABCOLNAME 1, 7,10, 22
id 1, 7,7, 22
score 1, 10,10, 26
TOK_SELECT 0, -1,-1, 0
TOK_SELEXPR 0, -1,-1, 0
TOK_ALLCOLREF 0, -1,-1, 0

scala.NotImplementedError: No parse rules for:
TOK_VIRTUAL_TABLE 0, -1,20, 0
TOK_VIRTUAL_TABREF 0, -1,-1, 0
TOK_ANONYMOUS 0, -1,-1, 0
TOK_VALUES_TABLE 1, 13,20, 41
TOK_VALUE_ROW 1, 15,20, 41
1 1, 16,16, 41
10 1, 19,19, 44

还有其他方法可以插入到受支持的 Hive 表吗?

最佳答案

可以使用 append 将数据附加到 Hive 表。 DataFrameWriter 上的模式。

data = hc.sql("select 1 as id, 10 as score")
data.write.mode("append").saveAsTable("my_table")

这给出了与插入相同的结果。

关于apache-spark - "INSERT INTO ..."使用 SparkSQL HiveContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33923348/

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