2
CREATE TABLE IF NOT EXISTS TestingTable2 
( 
USER_ID BIGINT, 
PURCHASED_ITEM ARRAY<STRUCT<PRODUCT_ID: BIGINT,TIMESTAMPS:STRING>> 
) ROW FORMAT
DELIMITED FIELDS TERMINATED BY '-'
collection items terminated by ','
map keys terminated by ':'
LINES TERMINATED BY '\n' 
STORED AS TEXTFILE
LOCATION '/user/rkost/output2';

以下は、上記の表にアップロードする必要がある1行のデータのみに含まれる私のデータです。

1015826235-[{"product_id":220003038067,"timestamps":"1340321132000"},{"product_id":300003861266,"timestamps":"1340271857000"},{"product_id":140002997245,"timestamps":"1339694926000"},{"product_id":200002448035,"timestamps":"1339172659000"},{"product_id":260003553381,"timestamps":"1339072514000"}]-

クエリを選択してデータをアップロードした後、データが正しく表示されません。以下のように1行しか取得できないはずですが、テーブルで以下の結果が得られません

**USER_ID**     **PURCHASED_ITEM**
1015826235     [{"product_id":220003038067,"timestamps":"1340321132000"},    {"product_id":300003861266,"timestamps":"1340271857000"},    {"product_id":140002997245,"timestamps":"1339694926000"},    {"product_id":200002448035,"timestamps":"1339172659000"},    {"product_id":260003553381,"timestamps":"1339072514000"}]

上記のデータの代わりに、選択クエリを実行した後、テーブル データでこのようなものを取得しています。デリメータに何か問題がありますか?

1015826235      [{"product_id":null,"timestamps":" 220003038067"},{"product_id":null,"timestamps":" \"1340321132000\"}"},{"product_id":null,"timestamps":"  
                                 300003861266"},{"product_id":null,"timestamps":" \"1340271857000\"}"},{"product_id":null,"timestamps":" 140002997245"},
                                      {"product_id":null,"timestamps":" \"1339694926000\"}"},{"product_id":null,"timestamps":" 200002448035"},
                                            {"product_id":null,"timestamps":" \"1339172659000\"}"},{"product_id":null,"timestamps":" 260003553381"},
                                                       {"product_id":null,"timestamps":" \"1339072514000\"}]"}]

誰が私が何をしているのか指摘できますか?

4

2 に答える 2

0

商品IDに二重引用符を追加

1015826235-[{"product_id":"220003038067","timestamps":"1340321132000"},{"product_id":"300003861266","timestamps":"1340271857000"},{"product_id":"140002997245","timestamps":"1339694926000"},{"product_id":"200002448035","timestamps":"1339172659000"},{"product_id":"260003553381","timestamps":"1339072514000"}]-
于 2012-07-06T19:05:20.493 に答える
0

私は自分でそれを理解しました。ロードする必要があるデータ全体は、どういうわけか次のようになります-

1015826235-220003038067:1340321132000,300003861266:1340271857000,140002997245:1339694926000,200002448035:1339172659000,260003553381:1339072514000

于 2012-07-06T19:20:42.367 に答える