我想使用Cassandra COPY功能更新表中的某些列。但即使未找到行,Copy也會插入新記錄。我想限制在COPY命令中,只有當PRIMARY KEY行被找到時,csv文件中的列纔會被更新。示例表和COPY命令在下面共享。Cassandra COPY命令更新記錄
CREATE TABLE Orders(
Ord_Id Text Primary Key,
Ord_Date Int,
Ord_Acct Text,
Ord_Comp_Dt Int,
Ord_Status Text)
Sample Data:
Ord_Id | Ord_Date | Ord_Acct | Ord_Comp_Dt | Ord_Status
ORD001 | 20170602 | A001 | 20170615 | InProgress
ORD002 | 20170603 | A002 | 20170607 | Failed
ORD003 | 20170604 | A003 | 20170616 | InProgress
ORD004 | 20170605 | A003 | 20170617 | InProgress
上面的表獲取行條目時,訂單放置與初始Ord_Status ='InProgress'。根據訂單完成網絡提供的數據與Ord_Id,Ord_Status。當沒有找到主鍵
Network Data
ORD_ID,ORD_STATUS
ORD001,Failed
ORD003,Success
ORD004,Rejected
ORD005,DataIncomplete
複製命令正在執行COPY命令
Sample Data:
Ord_Id | Ord_Date | Ord_Acct | Ord_Comp_Dt | Ord_Status
ORD001 | 20170602 | A001 | 20170615 | Failed
ORD002 | 20170603 | A002 | 20170607 | Failed
ORD003 | 20170604 | A003 | 20170616 | InProgress
ORD004 | 20170605 | A003 | 20170617 | Rejected
ORD005 | Null | Null | Null | DataIncomplete
ORD005之後提供下面
COPY ord_schema.Orders(Ord_Id,Ord_Status) FROM 'NW170610.csv'
表的SnapShot不應被插入。 請在數據不存在的情況下,在插入或阻止輸入之前,有任何方法檢查數據是否存在。
謝謝。時間是解決方案正常工作。 – lakksv