2017-12-12 14 views
1

저는 Sqoop을 사용하여 MySQL과 HDFS간에 파일을 가져 오기 작업하고 있습니다. 내가 일할 때 두 개의 java 파일이 내 홈 디렉토리에서 자동 생성되었다. 파일을 열었을 때 Sqoop 명령과 동일한 작업을 수행하는 코드가 포함되어있었습니다. 다음은 내 sqoop 코드입니다.Java 파일을 자동 생성하는 방법은 무엇입니까?

sqoop import --connect "jdbc:mysql://quickstart.cloudera:3306/database" --username root --password cloudera --query 'select * from table1 WHERE $CONDITIONS' --where "col1 != NULL OR col2 != NULL OR col3 != NULL OR col4 != NULL" --direct --target-dir '/user/cloudera/input/table1' --fields-terminated-by '|' --lines-terminated-by '\n' -m 1 

어떻게 생성되는지는 잘 모르겠습니다. Java 파일을 삭제 한 후 코드를 다시 실행했으며 이번에는 생성되지 않았습니다. 아무도 나에게 어떻게 생성 된, 그리고 동등한 자바 코드 파일을 생성하는 방법을 말할 수 있고,이 프로세스는 무엇에 관한 것입니까? 미리 감사드립니다.

답변

0

왜 생성됩니까?
Sqoop은 Java로 작성된 map reduce 프로그램을 호출합니다. 기본 경로는 홈 디렉토리에 있습니다.
경로를 변경할 수 있습니다.
Sqoop 명령에 인수를 전달합니다. 즉. : --outdir

데이터를 가져 오기 위해 Java 클래스 파일이 생성됩니다. 클래스 파일은 삭제하면 생성되며 tablename 뒤에는 이름이 있습니다.

당신의 이름을 따서 명명된다이 지금 막 코드를 다시 실행 한

  1. https://sqoop.apache.org/docs/1.4.1-incubating/SqoopUserGuide.html
  2. https://community.hortonworks.com/questions/25931/sqoop-import-command-generate-java-files-automatic.html
+0

링크 및 작성 "QueryResult.java"라는 이름의 파일 만 자바를 참조 할 수 있습니다 tablename이 생성되지 않습니다. "tablename.java"를 생성하는 방법? –

+0

테이블을 지정하지 않았기 때문에 쿼리를 지정했습니다. –