embulk meetup #03

S-JIS[2015-08-09/2017-07-16] 変更履歴 Embulk ローカルファイルの入力 Embulkのローカルファイル読み込みのメモ。 概要 ローカルファイルはデフォルトで(追加プラグイン無しで)読み込める。 ファイルの形式はパーサーで指定する。 圧縮されているファイルを読み込みたい場合はデコーダーを指定する。 embulkのguessコマンドでローカルファイルを読み込み、レイアウトを推測してymlファイルを生成することが出来る。 csvファイルの例 config.yml: in: type: file path_prefix: /tmp/example/master/store_info parser: type: csv charset: UTF-8 newline: CRLF delimiter: ',' quote: '"' escape: '\' null_st
スクリプトからWebサービスを利用するときアカウントやパスワード情報をハードコーディングする場合がありますが、コードを公開する際うっかりそのまま公開なんてことにならないよう、Config::Pitを使うと良い。 アカウントやパスワード情報を~/.pit/以下にYAML形式で保存し、スクリプトから読み込みます。 #!/usr/bin/perl use strict; use warnings; use Config::Pit; my $conf = pit_get("example.com", requires => { username => "username on example.com", password => "password on example.com", }); die "pit_get failed." if !%$conf; my $username = $conf-
■ [perl] 手元の perl 環境を local::lib から perlbrew にした 最近は perlbrew と cpanm がベターらしいので、local::lib で放り込んでいたライブラリの皆さんを rm -rf してから perlbrew を入れてみたよ。 とりあえず、perlbrew は ~/.perlbrew にインストール。こんな感じ。 export PERLBREW_ROOT=~/.perlbrew curl -LO http://xrl.us/perlbrew chmod +x perlbrew ./perlbrew install rm ./perlbrew .perlbrew/bin/perlbrew init この後で perl 本体と cpanm をインストール。 perlbrew install perl-5.12.2 perlbrew switc
installPlagger.sh を作成して、 #!/bin/sh #install Plagger sudo yum install cpan perl-YAML perl-CPAN-Mini sudo yum install perl-Module-Install perl-DateTime perl-Feed-Find perl-JSON-XS perl-Log-Log4perl perl-MIME-Types perl-MooseX-Getopt perl-DBD-SQLite perl-XML-LibXML-Common perl-libxml-perl perl-Image-Info perl-MooseX-Types-Path-Class perl-Path-Class perl-XML-LibXML php-pear-XML-RSS perl-File-Find-Rule
山縣です。 前回はSpark について書きましたが今回は最近良く使うようになっているEmbulk について書きたいと思います。 Embulkとは? Embulk はオープンソースのバルクローダーです。あるデータストアから別のデータストアにデータを転送するためのツールです。たとえば CSV形式のデータをPostgreSQLやMySQLのようなRDBMS や Google のBigQueryなどにロードしたい、あるいはRDBMS上のデータを CSV 形式で gzipで圧縮して取得したいなどというような使い方ができます。 Embulk では様々なデータストアへの対応をプラグインという形でサポートします。Embulk のサイトから持ってきた下図のように、入力プラグインから取り込まれたデータはEmbulk のデータ型に変換され、出力プラグインに渡されます。このように入力と出力が独立したプラグインとし
Errors in plugins? Retry to Update or Configure. NoMethodError undefined method `downcase' for nil:NilClass (plugin/profile.rb):158:in `image' (plugin/profile.rb):87:in `image' (plugin/profile.rb):217:in `profile' (TDiary::Plugin#eval_src):73:in `block in eval_src' /usr/local/rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0/gems/tdiary-3.2.2.20130617/tdiary/plugin.rb:99:in `eval' /usr/local/rbenv/ver
Embulkの各プラグインのconfig設定例をメモしていきます。 (MySQL、Bigquery、Redshit、Redis、S3など) プラグインのインストールが必要 例:embulk gem install embulk-output-bigquery embulkをたくさん順序よく叩いて、あいまにちょっとした処理も行いたいので、 digdagも試します。 Embulkプラグインのconfig(liquid前提) Input embulk-input-s3 in: type: s3 path_prefix: yyy/xxxxxx file_ext: .zip access_key_id: {{ env.AWS_ACCESS_KEY }} secret_access_key: {{ env.AWS_SECRET_KEY }} iam_user_name: yyy-xxxxxx-acce
iPod touchが届いたー! この連休は家から出られなくなったので、iPod touchをいじり倒す予定です。 せっかくなので、Plaggerを使って、ニコニコ動画のマイリストから動画Podcastを生成してみました。ニコニコ動画 => Podcast => iTunes => iPod touch が自動できるようになるので、いつでも素敵動画が持ち歩けるように! 実際にやってみた ではまず、おもむろにお気に入りの動画をマイリストに登録します。いかにも怪しげなマイリストです。 このマイリストのRSSをもとにPlaggerで動画Podcastを生成します。Plaggerの野良プラグインに、Filter::FetchNicoVideoとFilter::FFmpegがあるのでこれを利用します。詳しくは後述。 できあがったPodcastはiTunesではこんな感じに見えますよ。 ここまでくれば
まなめさんに微妙な記事を「導入編」としてリンクされてしまったので(汗)、改めて書き直します。 下準備 Plaggerをインストールします Windowsで簡単にPlaggerをインストールする方法 MacでPlaggerを簡単にインストールする方法 Seacolor's Labs.さんからCustomFeed::Configの最新版をコピペ、Config.pmとして保存 場所は、Plagger/CPAN/lib/perl5/site_perl/Plagger/Plugin/CustomFeed/Config.pm Plagger/assets/plugins/CustomFeed-Config/ というフォルダを作る この中に抽出用の設定ファイル(.yaml)を入れます で、実行用のconfigを書きます。 config.news.yaml global: assets_path: ass
「Plagger のソースを嫁」と口を酸っぱくしていっているのだが、この言葉の真意は単純だ。Plagger のソースコードは世界で5の指に入る Perl Hacker である Tatsuhiko Miyagawa がメンテしているからだ。Tatsuhiko Miyagawa のソースコードは可読性が高いことで世界的に有名であって、すごく技術的にバランスがいいので、世の Perl プログラマは学ぶところが多いでしょう(はじめの一歩でいえば、木村が強くなった感じ)。その中でも直近の大規模なオープンソースプロダクトである Plagger はまさに Perl Hacker の教科書とも言えるべき存在だ。そして、Plagger をツールとしてつかっていると拡張したくなるところがでてくる。それはもう間違いない。拡張するためには Perl をつかうのが効率がいいから、みんなモダンな Perl を書けるよ
Embulk configuration file format Embulk uses a YAML file to define a bulk data loading. Here is an example of the file: in: type: file path_prefix: ./mydata/csv/ decoders: - {type: gzip} parser: charset: UTF-8 newline: CRLF type: csv delimiter: ',' quote: '"' escape: '"' null_string: 'NULL' skip_header_lines: 1 columns: - {name: id, type: long} - {name: account, type: long} - {name: time, type: ti
露崎です。 本日は個人で開発に参加しているRubyのOSSプロジェクト、automaticrubyについて紹介してみたいと思います。 automaticruby/automaticruby · GitHub automaticrubyとは automaticrubyとは取得した情報を別のサービスに受け渡す処理を行うgemパッケージです。 プラグイン形式で取得できる、受け渡せるサービスを追加する事が出来ます。 IFTT とかplagger みたいなものと言えば解りやすいかも知れません コマンドライン操作を必要とするので開発者向けになります。 インストール gemとして公開されているのでインストールは簡単です。 [sourcecode lang="text"] $ gem install automatic $ automatic scaffold $ automatic -c ~/.auto
ども、大瀧です。 CloudFrontのログをAthenaで効率良く見たいと思い、Parquet形式に変換する手段としてOSSのバルクローダ EmbulkをEC2上のDockerで実行してみました。その様子をレポートします。 Apache Drillで変換する様子は石川のエントリーを参照ください。 Amazon Athena: カラムナフォーマット『Parquet』でクエリを試してみた #reinvent | Developers.IO Dockerイメージの設計、作成 Dockerイメージの作成はそれぞれのDockerfileをGitHubリポジトリにアップロードし、Docker Hub Automated Buildを利用しました。 作成されたDockerイメージは公開されているので、試したい方は記事後半の動作確認の手順に従い、イメージをダウンロードしてご利用ください。 Embulk実
0.はじめに こちらはre:dash Advent Calendar 2016の22日目の記事です。 Advent Calendarについて出遅れたと思っていたところ、、、 こちらはまだ空き枠がありましたので参加しました。 Mac上で以下のような感じで CSVファイルを digdag -> embulk -> (Re:dashの)PostgreSQLへ格納してRe:dashから見るところまでを記事にします。 デモや素振り用などの参考にして頂ければと思います。 以下は今回本記事では取り扱いませんが以前書きましたこちらの記事や、こちらの記事を参考に応用するとChatOps的な感じでデータ登録が可能です。 1.環境 OSX Yosemite Docker version 1.13.0-rc3, build 4d92237 docker-compose version 1.9.0, build 2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く