본문 바로가기

ETL3

sqoop export 시 org.apache.parquet.io.ParquetDecodingException sqoop export 시 아래와 같은 에러 발생하는 경우. Error: org.apache.parquet.io.ParquetDecodingException: Can not read value at 1 in block 0 in file hdfs://xxx stdout에서는 위처럼 나오지 않고, yarn applicaiton 로그를 봐야 확인 됨. 소스파일은 parrquet 포맷. 소스파일의 일부 필드에 null 값이 있었음. (타겟테이블에서 해당 컬럼들은 timestamp, parquet에서는 unix timestamp 값으로 bigint) 아래 경우에는 정상수행 - pyspark으로 해당 필드 isNotNull() 으로 발라내서 별도 경로에 write한 후 해당 파일을 export 시에는 정상 수행 -.. 2021. 4. 2.
Sqoop ETL Sqoop (SQL to Hadoop) Sqoop은 RBMS HDFS 사이에 데이터 ETL을 위해 만들어진 프로젝트이며, 하둡의 YARN, MapReduce 위에서 동작하는 하둡 에코시스템의 툴 중의 하나입니다. CLI로 간단하게 DB와 HDFS사이에 ETL 실행 가능 --query 옵션을 사용하면 가져올 데이터에 select 쿼리 사용 가능 --num-mapper (또는 -m ) 옵션으로 병렬성 크기 지정가능 다양한 종류의 DB 지원 MySQL의 경우 기본적으로 지원하며, 그 외에 DB는 jdbc 드라이버를 /var/lib/sqoop 에 위치시켜야 함. 주요 명령어 sqoop eval 실제 적재 작업이 수행되지는 않고, --query 파라미터에 작성된 쿼리를 RDB에서 수행하여 결과값 출력 해당 RDB.. 2021. 2. 21.
DataStage Job Xml export DataStage 클라이언트 툴 설치시 포함된 프로그램들을 활용하면 몇몇 유용한 기능들을 활용할 수 있습니다. Job 정보 테이블에 저장하기 (Folder path, SQL문, Job 생성/최종수정일시 등 ) Job 별로 저장된 쿼리문 확인을 위해 일일이 job을 열어보지 않고 테이블에서 확인 할 수 있다면 영향도 파악 등에서 훨씬 수월할 거 같습니다. 이를 위한, 2가지 방법 1. Job Xml export 하여 쿼리문 테이블에 저장 dsexport, dsjob 등의 명령을 활용하기 위해, 클라이언트 툴 설치경로 아래에 \Clients\Classic 으로 이동 dsjob Job 및 Sequence Name 목록 출력 dsjob -domain domain명:port -user ID -password PW.. 2021. 1. 17.
728x90