Embulk 메모

3721 단어 Embulk
embulk github
embulk 공식

소개 / Embulk이란 ...



Embulk is a open-source bulk data loader that helps data transfer between various databases, storages, file formats, and cloud services.


즉, 원래의 데이터를 단번에 성형·변환하여 출력할 수 있다.
ETL 도구.
→ 추출(Extract) 변환(Transform) 내보내기(Load)

Embulk(엔벌크)는 오픈 소스 병렬 데이터 전송 프레임워크입니다. 「fluentd」의 배치판과 같은 벌크 처리에 특화한 플러그인 베이스의 데이터 로더입니다. 대규모 데이터 세트를 대량으로 가져올 수 있습니다.

<메모>

bulk: 크기, 부피, 부피(부피), 대부분, 대부분
weblio bulk의 의미
벌크 인서트(bulk insert): 대량의 데이터를 단번에 투입하는 것
'알 수 있을 것'에서 '모르겠다'에서도 '알았다' 궁금한 IT 용어 사전

환경 구축



Mac 환경 구축
curl --create-dirs -o ~/.embulk/bin/embulk -L "https://dl.embulk.org/embulk-latest.jar"
chmod +x ~/.embulk/bin/embulk
echo 'export PATH="$HOME/.embulk/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
embulk example ./try1
embulk guess   ./try1/seed.yml -o config.yml
embulk preview config.yml
embulk run     config.yml

명령 목록



embulk example


  • embulk example PATH로 지정한 경로에 샘플 CSV와 구성 파일을 만듭니다.

  • embulk guess


  • -oオプション guess 실행 후 설정 출력 대상 파일 경로

  • embulk 미리보기


  • 지정된 파일의 실행 결과를 미리보기

  • embulk run


  • 지정된 파일 실행

  • config.yml 쓰기



    플러그인에 대한 설정을 작성합니다.
    in: 입력 플러그인에 대한 설명
    out: 출력 플러그인에 대한 설명
    filters: 필터 플러그인 관련 설명

    Embulk (엠벌크) 내장 플러그인 설정 기억

    플러그인



    Embulk plugin
    Embulk는 데이터원→데이터 성형→아웃풋 플러그인이 각종 준비되어 있다.
    gem을 사용하여 각 플러그인을 설치할 수 있습니다.

    config.yml.liquid 쓰기 방법 참고



    Embulk는 디렉토리 구성에 적합하지 않은 모습.

    템플릿 엔진 Liquid의 기능을 사용하는 경우, include는 서브 디렉토리에,
    대응하고 있지만, 「../」와 같이 위의 계층을 지정하면(자) 에러가 되는 것으로부터, 계층 분할에는 적합하지 않은 것 같습니다.
    Embulk 설정 정보 (liquid 판) - Qiita



    config
    ├ sample1_config.yml.liquid
    ├ sample2_config.yml.liquid
    ├ sample3_config.yml.liquid
    공통
    ├ _input.yml.liquid
    └ _output.yml.liquid

    위의 구성으로 *_config.yml.liquid에서 commons/이하의 공통 파일을 읽으려고 했습니다만,
    *_config.yml.liquid에 작성된 경로가 통과하는 오류.

    *_config.yml.liquid
    {% include '../commons/input' with json_file_path %}
    

    이 패스를 읽어주지 않는 것 같다.
    따라서 디렉토리 구성을 변경했습니다.

    sample1_config.yml.liquid
    sample2_config.yml.liquid
    sample3_config.yml.liquid
    공통
    ├ _input.yml.liquid
    └ _output.yml.liquid

    *_config.yml.liquid
    {% include 'commons/input' with json_file_path %}
    

    좋은 웹페이지 즐겨찾기