Embulk (gzip -> 압축 해제: csv -> TreasureData)
8230 단어 EmbulkTreasureData
개요
Embulk를 사용할 기회가 있었으므로, 사용법에 대해 잊지 않도록 메모해 둔다.
「sample_01.csv.gz」파일로부터 csv를 취득해, TreasureData에 송신하는 샘플을 해 본다.
샘플 준비
터미널
$ embulk example ./try3
플러그인 추가
"embulk-output-td"를 추가한다.
터미널
## プラグインの独立したバンドルを作成する
$ embulk mkbundle bundle
## gemファイルにプラグインを追記する
$ vi bundle/Gemfile
gem 'embulk-output-td' # 追記
## プラグイン追加
$ cd bundle
$ embulk bundle
$ cd ../
config.yml 만들기 & 수정
터미널
$ embulk guess -b bundle seed.yml -o config.yml
$ vi config.yml
config.yml
in:
type: file
path_prefix: /root/opt/www.qlife.jp/./try3/csv/sample_
decoders:
- {type: gzip}
parser:
charset: UTF-8
newline: LF
type: csv
delimiter: ','
quote: '"'
escape: '"'
null_string: 'NULL'
trim_if_not_quoted: false
skip_header_lines: 1
allow_extra_columns: false
allow_optional_columns: false
columns:
- {name: id, type: long}
- {name: account, type: long}
- {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'}
- {name: purchase, type: timestamp, format: '%Y%m%d'}
- {name: comment, type: string}
out:
type: td
apikey: <your apikey>
endpoint: api.treasuredata.com
database: hoge_fuga_tmp # データベース名
table: my_table # テーブル名
mode: append # 転送モード: append(追加), replace(置き換え)
# time_column: time # インデックスに使用する時間カラム
default_timestamp_format: '%Y-%m-%d %H:%M:%S'
column_options:
time: {format: '%Y-%m-%d %H:%M:%S', timezone: 'Asia/Tokyo'}
미리보기
터미널
$ embulk preview -b bundle config.yml
+---------+--------------+-------------------------+-------------------------+----------------------------+
| id:long | account:long | time:timestamp | purchase:timestamp | comment:string |
+---------+--------------+-------------------------+-------------------------+----------------------------+
| 1 | 32,864 | 2015-01-27 19:23:49 UTC | 2015-01-27 00:00:00 UTC | embulk |
| 2 | 14,824 | 2015-01-27 19:01:23 UTC | 2015-01-27 00:00:00 UTC | embulk jruby |
| 3 | 27,559 | 2015-01-28 02:20:02 UTC | 2015-01-28 00:00:00 UTC | Embulk "csv" parser plugin |
| 4 | 11,270 | 2015-01-29 11:54:36 UTC | 2015-01-29 00:00:00 UTC | |
+---------+--------------+-------------------------+-------------------------+----------------------------+
처리 실행
터미널
$ embulk run -b bundle config.yml
TreasureData 확인
my_table 테이블에 데이터가 등록되어 있습니다.
이상
참고 사이트
Reference
이 문제에 관하여(Embulk (gzip -> 압축 해제: csv -> TreasureData)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/reflet/items/e224b0e4165cf7f38486텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)