首先,我承认我对 dataframes/databricks 只使用了几个月就很陌生。
我有两个从镶木地板文件(完整格式)中读取的数据框。在查看文档时,似乎 pandas 中所谓的合并实际上只是一个连接。
在 SQL 中,我将此步骤写为:
ml_RETURNS_U = sqlContext.sql("""
MERGE INTO U2 as target
USING U as source
ON (
target.ITEMNUMBER = source.ITEMNUMBER
and target.PRODUCTCOLORID = source.PRODUCTCOLORID
and target.WEEK_ID = source.WEEK_ID
)
WHEN MATCHED THEN
UPDATE SET target.RETURNSALESQUANTITY = target.RETURNSALESQUANTITY + source.QTY_DELIVERED
WHEN NOT MATCHED THEN
INSERT (ITEMNUMBER, PRODUCTCOLORID, WEEK_ID, RETURNSALESQUANTITY)
VALUES (source.ITEMNUMBER, source.PRODUCTCOLORID, source.WEEK_ID, source.QTY_DELIVERED)
""")
当我运行此命令时,我收到以下错误:u'MERGE destination only supports Delta sources.\n;'
所以我有两个问题:有没有办法可以使用 pandas 或 pySpark 执行此操作?
如果没有,我该如何解决这个错误?