这个问题在这里已经有答案了:
仅覆盖分区spark数据集中的某些分区(2个答案)
两年前关门了。
我使用sparklyr的spark\u write\u table函数将表写入hdfs,使用partition\u by参数定义如何存储它们:
R> my_table %>%
spark_write_table(.,
path="mytable",
mode="append",
partition_by=c("col1", "col2")
)
但是,现在我只想通过改变一个分区来更新表,而不是再次写入整个表。
在hadoop sql中,我将执行以下操作:
INSERT INTO TABLE mytable
PARTITION (col1 = 'my_partition')
VALUES (myvalues..)
在SparkyR中是否有一个等效的选项可以正确地执行此操作?我在文件里找不到。
重复注意:这个问题是关于如何用sparklyr函数在r中完成这个任务的,而另一个问题是关于一般的配置单元语法
1条答案
按热度按时间tzdcorbm1#
谢谢大家的评论。
似乎没有办法直接用SparkyR来做这件事,但这就是我要做的。
简而言之,我将把新的分区文件保存在一个临时表中,使用hadoopsql命令删除分区,然后使用另一个sql命令插入临时表中。