하이브 테이블에서 데이터를 내 보냈습니다. 그런 다음 해당 파일을 읽을 다른 테이블을 만들었습니다. 내 하이브 소스 테이블에 [ '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 함수를 사용하지 않고 배열 필드를 내보내는 방법이 있습니까? 감사
광원 어레이
[ '에서 970x66', '728x90 크기', '970x90 크기', '970x250 크기', '980x300', '1200x300', '970x418에서'] 배열 타겟팅 필요
[ '에서 970x66을 ''728x90 크기 ','970x90 크기 ','970x250 크기 ','980x300 ','1200x300 ','970x418에서 ']
하지만 탈출 [없이 보이는'[ '에서 970x66', '728x90 크기', '970x90 크기' '970x250', '980x300', '1200x300', '970x418'] ']