mysql의 각 테이블에 100000 개가 넘는 레코드가있는 1000 개의 테이블이 있습니다. 테이블의 컬럼은 300-500입니다.Sqoop 가져 오기 mysql의 특수 문자 대체
일부 테이블에는 열 이름에. (점) 및 공백과 같은 특수 문자가있는 열이 있습니다. 나는 테이블을 쿼리 할 때 하이브 테이블이 생성이 있지만, 후
sqoop import --connect ${domain}:${port}/$(database) --username ${username} --password ${password}\
--table $(table) -m 1 --hive-import --hive-database ${hivedatabase} --hive-table $(table) --create-hive-table\
--target-dir /user/hive/warehouse/${hivedatabase}.db/$(table)
그것이
같은 오류를 보여줍니다 아래는 지금은 Sqoop을 가져 오기를하고 같은 싱글 샷 쿼리에 HDFS에서 하이브 테이블을 만들려면
이 오류 출력은 샘플 출력입니다. Sqoop을 가져 오기 자체를하는 동안 우리는 _ (밑줄)로. (점)을 대체 할 수있는 방법
Error while compiling statement: FAILED: RuntimeException java.lang.RuntimeException: cannot find field emp from [0:emp.id, 1:emp.name, 2:emp.salary, 3:emp.dno]
. 나는 이것을 동적으로하고 싶다.
--Query 옵션을 시도했지만 선택 쿼리를 사용하여 많은 열 이름을 바꿀 수 있습니다. 오전 – User12345
동적 쿼리를 작성하여 쿼리를 생성하십시오. –
질문할만한 질문이 있습니다. 하둡에 조금 익숙합니다. 동적 쿼리를 작성하는 방법 – User12345