我正在創建一個外部客戶,其中包含客戶ID,姓名和配偶姓名。
CREATE TABLE customer(cust id, name struct<fname:string,lname:string>,spouse_name struct<fname:string,lname:string>
)row format delimited
fields terminated by ','
collection items terminated by '$';
我想知道,如果傳入的數據來源是這樣的
1,FNAME1$LNAME1,SPOUSE_FNAME1#SPOUSE_LNAME1
2,FNAME2$LNAME2,SPOUSE_FNAME2#SPOUSE_LNAME2
我不能在「收集項目」的語句兩個分隔符。 '$'分隔符只會分隔FNAME *和LNAME *。它不會對SPOUSE_FNAME *和SPOUSE_LNAME *做任何事情。我們是否需要爲此編寫一個定製的serde?我不確定數據在真實世界中的樣子,但很可能在某個時間點我們可以得到這樣的數據。
數據處理是應該仔細規劃和管理。文本字段也可能包含符號'','''''或'#'。 「將得到我們得到的並且在時間到來時處理它」的方法,不會讓你走得太遠。 –