私はハイブテーブルからデータをエクスポートしました。その後、これらのファイルを読み込むために別のテーブルを作成しました。 ハイブソーステーブルには、['9x3'、 '970x66'、 '728x90'、 '970x90'、 '970x250'、 '980x300'、 '1200x300'、 '970x418'のような配列フィールドがあります。 ターゲットの外部ハイブテーブルも同じように見える必要があります。 データをエクスポートすると、配列フィールドの '[]'が予想どおりになります。 しかし、私のターゲットフィールドも配列なので、追加の '[]'が追加されます。 私はエスケープして使ったことがありますが、 '['と ']'の両方の文字をエスケープする方法が見つかりませんでした。 私が使用している:HIVE ESCAPED BY
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t' ESCAPED BY '['
COLLECTION ITEMS TERMINATED BY '\,'
MAP KEYS TERMINATED BY ':'
をして、このような
ESCAPED BY '[]',
ESCAPED BY '[|]',
ESCAPED BY '[,]'
として複数のバージョンを試してみました、すべては最初の文字だけをエスケープするようです。 複数の文字をエスケープする方法がありますか、配列フィールドを '[]' characters.regexp_replaceとtranslate関数を使わずにエクスポートする方法はありません。 [ '970×66: おかげ
源アレイ
[ '970×66'、 '728'、 '970×90'、 '970×250'、 '980x300'、 '1200x300'、 '970x418']
、配列を標的とする必要が」、 '728'、 '970×90'、 'の970x250'、 '980x300'、 '1200x300'、 '970x418']
が、それはエスケープせずに見える[ '[' 970×66' 、 '728'、 '970×90' '970x250'、 '980x300'、 '1200x300'、 '970x418'] ']