복붙노트

[HADOOP] Sqoop을 행동을 통해 OOZIE에서 MS SQL Server 테이블 목록

HADOOP

Sqoop을 행동을 통해 OOZIE에서 MS SQL Server 테이블 목록

나는 완벽하게 CLI에서 다음 Sqoop을 명령을 실행할 수 있어요.

sqoop list-tables
--connect 'jdbc:sqlserver://xx.xx.xx.xx\MSSQLSERVER2012:1433;username=usr;password=xxx;database=db'
--connection-manager org.apache.sqoop.manager.SQLServerManager
--driver com.microsoft.sqlserver.jdbc.SQLServerDriver 
-- --schema schma

그러나 OOZIE에서 동일한을하는 동안 오류를 받고 (HUE)

-

어떻게 우리는 oozie에서 일을받을 수 있나요? (클라우 데라 하둡 배포에서 작업)

해결법

  1. ==============================

    1.이 날은 Oozie> Sqoop1 워크 플로우를 만들 수 CDH 5.11 및 색조 워크 플로우 편집기를 사용하여 근무 ...하지만 사용자 이름과 암호를 인수 하드 코드로 필요합니다 ... 스크린 샷은 아래에 포함되어 있습니다.

    이 날은 Oozie> Sqoop1 워크 플로우를 만들 수 CDH 5.11 및 색조 워크 플로우 편집기를 사용하여 근무 ...하지만 사용자 이름과 암호를 인수 하드 코드로 필요합니다 ... 스크린 샷은 아래에 포함되어 있습니다.

    다음은 단계별이다 :

    중대한:

    대답 : "$ 조건이 어디에"그것은 그것 없이는 실행되지 않습니다 항목 13에서 SQL SELECT 문의 끝 부분에있는 것이 중요하다.

    B. 이것은 당신이 Sqoop을 할 DBSERVER의 데이터베이스 및 테이블에 액세스 할 수있는 SQL 서버 명명 된 사용자 계정을 사용합니다.

    당신의 명명 된 사용자 "는 DBO"또는 테이블의 스키마는 데이터베이스 및 사용자에 대한 기본 스키마가 아닌 경우 설정 한 기본 스키마가없는 경우이 같은 B. 입력 인수가 필요합니다.

    C.은 SQL Server JDBC 드라이버가 설치에 올바르게 배치됩니다. "/opt/cloudera/parcels/CDH-5.11.0-1.cdh5.11.0.p0.34/lib/sqoop/lib/sqljdbc41.jar"하지만 당신은 퍼팅 시도 할 수 있습니다 : 클라우 데라의 내 특정 버전의 위치입니다 그것은 "은 / var / lib 디렉토리 / oozie"또는 "하나의 자신에 그 작업 중 하나 /var/lib/sqoop"...not 확인합니다.

    D. 나는 job.properties 파일에서 값을 내가 인수로 하드 코드 된 사용자 이름과 암호를 대체에 성공하지 않았습니다. 나는 가능하다 생각하지만 난 그것과 무력 시행 착오의 일이 실패되었습니다 수행하는 방법을 보여 명확하게 수있는 사람을 찾을 수 없었습니다.

    다음은이 작업을 수행 할 때 모습을 보여주는 스크린 샷입니다. SqoopCommandAsArguments SqoopCommandAsArgumentsSuccess

  2. from https://stackoverflow.com/questions/43732986/listing-ms-sql-server-table-in-oozie-via-sqoop-action by cc-by-sa and MIT license