ZOZOTOWNのDWHをRedshiftからBigQueryにお引越しした話 / Moving ZOZOTOWN DWH from Redshift to BigQuery
ZOZOTOWNのDWHをRedshiftからBigQueryにお引越しした話 / Moving ZOZOTOWN DWH from Redshift to BigQuery
■ [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
この記事はVASILY DEVELOPERS BLOGにも同じ内容で投稿しています。よろしければ他の記事もご覧ください。 こんにちは、バックエンドエンジニアの塩崎です。 さて、VASILYではData WarehouseとしてGoogle BigQuery(BigQuery)を利用しています。 BigQuery内にはプロダクトのマスタデータとユーザーの行動ログが格納されています。 そして、それらに対する横断的なクエリを発行することでプロダクトの成長のためのKPIをモニタリングしています。 そのためAmazon Relational Database Service(RDS)に保存されているマスタデータをBigQueryに同期する処理を定期的に実行する必要があります。 先日、ワークフローエンジンであるDigdagとバルクデータローダーであるEmbulkを利用して、この処理を行うシステムを構築
こんにちは。バックエンドエンジニアインターンの田島です。 VASILYでは分析にBigQueryを使用しており、MySQLのデータを毎日BigQueryに同期しています。この同期処理を行うシステムは、約2年前にRubyで書かれたもので、プロダクトの成長に伴うデータ量の増加に耐えることができなくなり始めていました。そのため、同期処理を行うシステムを一から作り直しましたので、その詳細についてご紹介します。 弊社DEVELOPERS BLOGでは以前、『インターン生がデータ転送基盤を一から設計する、VASILYバックエンドインターンの紹介』としてシステムの概要・開発の流れをご紹介しましたが、今回はシステムの詳細についてご紹介します。 (photoクレジット *1) データ同期ツールの紹介 新たなデータ同期システムとして、次のように利用する社内ツールを作成しました。 以下のような環境変数を設定し、
こんにちは、バックエンドエンジニアの塩崎です。 先日、会社の広報のためのインターン生紹介記事にメンターとして掲載していただきました。 大学四年生のインターン生と一緒に写真撮影を行ったのですが、見た目だけではどちらが年上かわからなかったので、「メンターの塩崎(右)」という表記をされてしまいました(笑) インターンでも実際のサービスに触れ、課題を解決!〜VASILY DEVELOPERS BLOGが公開されました〜 さて、VASILYではData WarehouseとしてGoogle BigQuery(BigQuery)を利用しています。 BigQuery内にはプロダクトのマスタデータとユーザーの行動ログが格納されています。 そして、それらに対する横断的なクエリを発行することでプロダクトの成長のためのKPIをモニタリングしています。 そのためAmazon Relational Database
Embulk Advent Calendar 2015の1日目の投稿になります。 今年の9月にSoftware EngineerとしてTreasure Data(以下TD)に入社していた赤間(@oreradio)です。 最近はData Connector(後述)などの開発でJava/Rubyを書いています。 さて、OSSのバルクロードツールであるEmbulkが公開されて約1年が経ちました。 * 並列・分散処理、リトライ、リジューム等をサポートする * プラガブルな構造 * guessによる設定ファイル生成支援 * OSSとして公開されている などが特徴的な訳ですが、プラグインも90個近くが公開されOSSとして順調なスタートではないかと思います。 一方で本体やプラグインを含めた巨大なエコシステムをバルクロードという信頼性が求められる分野で全てOSSとして公開・メンテされる仕組みは果たして上手
はじめに 弊社ではユーザーの一部アクションログを GoogleTagManager(GTM)と組み合わせて GoogleAnalytics(GA)にイベント情報を保存し分析をしています. 今回はGTMに関しては触れませんが, 例としてGA上に保存されたイベント情報を BigQuery に転送してみます。 イベント情報に限らず PageView など様々なGA上のデータを取得して転送することが出来るため, 発想次第では面白いデータ分析ができそうです. GAのイベント情報とは 弊社では, 以下のようなイメージでユーザーの行動をイベント計測しています. イベントカテゴリ:施策ごとのユニークな管理番号(xxx_profile_search) イベントアクション:イベント種別(click, load) イベントラベル: イベント分類(ユーザーID) GAのイベント トラッキングについては, 以下のペ
driver_path: path to the jar file of the MySQL JDBC driver. If not set, the bundled JDBC driver (MySQL Connector/J 5.1.34) will be used. (string) host: database host name (string, required) port: database port number (integer, default: 3306) user: database login user name (string, required) password: database login password (string, default: "") ssl: use SSL to connect to the database (string, def
この記事は 一休.com アドベントカレンダー 2017 の 13 日目です。 一休データサイエンス部の id:kitsuyui です。データエンジニア兼データサイエンティストをやっています。 この記事はもともとアドベントカレンダー上では「脱・神 Excel (仮)」という名前で枠で取っていたのですが、 少し主語が大きすぎたかな?と反省しています。 書いているうちに全く主旨が変わってきましたので、副題とさせていただきました。 今回は一休社内でのデータエンジニアリングにまつわる負担、それらを解決する Redash, Embulk, DatabaseMEMO の導入の流れを書こうと思います。 また、その過程で副次的に発生した FLOSS へのコントリビューションなどなどについては、 14 日目のエントリで説明したいと思います。 一休とデータ活用 一休は今日まで上質な宿・レストランの予約サービス
main の Embulk のstdoutと embulk-filter-copy が実行する Embulk のstdout(idカラムが除かれている方) が出力されていることが分かると思います。 このように input 以外の embulk 実行設定を embulk-filter-copy の config に渡すことで embulk-filter-copy に渡ってきたデータを input として embulk を別途起動するプラグインです。 つかいかた なにするやつか でほぼ説明してしまっていますが、 embulk-filter-copy は以下のオプションを持っています。 config: in: を除いた embulk の config を書きます。 これら以外に必要なオプションはありません。 利用に際しての注意点 Java8 EmbulkとJava7 という記事で紹介されています
Rebuild A Podcast by Tatsuhiko Miyagawa. Talking about Tech, Software Development and Gadgets. 0:00 miyagawa: ぼくが昔、Shibuya.pmを始めたときも、渋谷のビットバレーとか言われてた、ドットコムバブル時代に始めたっていうのがあったけど、そのときには渋谷にあって、一瞬六本木ヒルズ方面にバーっと分かれたけど、またヒカリエで戻ってきた感じですね。 yusukebe: ぼくはその辺のビットバレーの時代ってあまり知らないので、なんとなく聞いた話で憧れみたいのがあって(笑)。それが今に戻ってきたっていう、なんか面白い感覚ですね。 miyagawa: 日本のPerl使いの世代っていう意味で言うと、tokuhiromとかゆーすけべーとかは、ぼくらからすると第2世代的なイメージがあるんだけど。
2017/05/18 APIの高速化方法について追記記事を書きました。 GoogleスプレッドシートAPIの高速化 GoogleI/O 2016でSpread Sheet API v4がリリースされました。 動画はこちらです。 盛り上がるのはAndroidなどデバイスにかかわる話だったり新サービスだったりするのですが、私が一番盛り上がったのはこのリリースだったりします 簡潔に書くと 今までの貧弱だったAPIがものすごく強化されシステムに組み込めるレベルになりました。 本記事ではスプレッドシートをプログラムから操作する方法と、実際に何ができるのかを解説していきます。 サンプルとして以下の様なスプレッドシートを作成します。 スプレッドシートAPIとは その名の通りGoogleスプレッドシートをWebシステムやスマホアプリなどプログラム経由で操作することが可能なAPIです。 元々バージョン3があ
Embulk Meetup Tokyo #3のLTです
概要 Javaアプリケーションの中からEmbulkを実行する為のクラスとして、Embulk0.6.22でEmbulkEmbedというクラスが導入された。 embulkコマンドのguess・preview・run等と同じことが実行できる。 コーディング手順は以下のような感じ。 EmbulkEmbedインスタンスを生成する。 embulkコマンドで指定するconfig.ymlと同等の定義を作成する。 YAMLファイルを読み込むのが一番簡単そう。 コマンド(guess, preview, run等)を実行する。 開発環境の構築 EmbulkEmbedを使うJavaプロジェクトを作成する為のGradleのbuild.gradleは以下のような感じ。 build.gradle: apply plugin: 'java' apply plugin: 'eclipse' task wrapper(typ
こちらのIssueで紹介されている通りです。 https://github.com/embulk/embulk/issues/421 (Issueだとあんまり気付かれないので、Issueと内容は同じですが、qiitaでのシェアを目的としてます。) EmbulkEmbedというクラスを呼び出して、下記にようにすればJavaからEmbulkを実行できます。 EmbulkのJarはhttps://dl.bintray.com/embulk/maven/とかから最新版をダウンロードすると良いと思います。 import java.io.File; import org.embulk.EmbulkEmbed; import org.embulk.EmbulkEmbed.Bootstrap; import org.embulk.config.ConfigLoader; import org.embulk
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く