XにインストールPresto2014.11.08Webサービスの運用にデータを活用する場合、まず改善のための仮説を立てます。その仮説が正しいか検証するために、データベースから関連するデータを抽出します。このデータを抽出する作業は、解析内容が複雑になるほど、そしてデータが多いほどに、時間がかかります。データを抽出するのに時間がかかると、仮説を検証をするのに長い時間がかかり、サービスの改善スピードが低下してしまいます。大規模データもサクサク分析するためのSQLエンジンPrestoはFacebookが開発した分散SQLクエリエンジンです。DataPrestoの特徴などについてはいったん触れずに、とりあえず動かせる状態にしてみます。Xにインストールしてみます。導入手順はこちらを参照しつつ、やっています。Documentationまずは、インストール用のディレクトリを作っておきます。/var/presto/datainstallationディレクトリに実行ファイルを置き、dataディレクトリにはログなどが保存されます。ダウンロードしたファイルをinstallationディレクトリに配置します。/var/presto/installation/これで配置は完了です。設定を記述していきます。設定は、installationディレクトリ直下にetcディレクトリを作り、そこに配置していきます。/var/presto/installation/etcまずは、Prestoの設定ファイルを記述します。/var/presto/installation/etc/config.propertiescoordinator=truenode-scheduler.include-coordinator=truehttp-server.http.port=8080task.max-memory=1GBdiscovery-server.enabled=truediscovery.uri=http://localhost:8080EOT続いて、ノードの設定ファイルであるnode.propertiesを書きます。/var/presto/installation/etc/node.propertiesnode.environment=productionnode.id=ffffffff-ffff-ffff-ffff-ffffffffffffnode.data-dir=/var/presto/dataEOTPrestoは分散クエリエンジンで、中央に配置されるCoordinatorと、分散ノードが担うWorkerに役割が分かれます。JVMの設定ファイルを書きます。%p-XX:MaxPermSize=150M-XX:ReservedCodeCacheSize=150MEOTPrestoはJavaで実装されていて、JVM上で動作します。ログレベルを設定します。/var/presto/installation/etc/log.propertiescom.facebook.presto=DEBUGEOTPrestoは、プラグイン設計になっていて、様々なデータソースを利用することが可能です。プラグインの設定は、catalogディレクトリに配置します。/var/presto/installation/etc/catalogまずは、手軽なMySQLで試してみます。/var/presto/installation/etc/catalog/mysql.propertiesconnector.name=mysqlconnection-url=jdbc:mysql://localhost:3306connection-user=rootconnection-password=testEOTこれでPrestoの準備完了です。クエリの実行さっそく起動してみます。ダウンロードしたファイルの中に、起動スクリプトも同梱されています。startこれでPrestoが無事に起動できたら、PrestoのCLIツールを使って、クエリを実行してみます。CLIツールはこちらからダウンロードできます。Documentationまずはpresto-cliのシェルを起動します。mytableそして、SQLを投入します。0B/s]Prestoから結果が返りました!ちなみに、ブラウザでPrestoサーバに接続すると、クエリのステータスが確認できるようです。これで、インストールは完了です!実運用で使えるか検証してみようと思います。コピーkatty0324三度の飯とエレクトロンrenameコマンドでファイル名の一括置換iOS向けのユニバーサルでスタティックなframeworkを作る関連記事ビジネスメールの誤送信防止に今すぐインストールすべき!Confirm-Addressアドオン。最近、社外の方とやりとりすることが増えてきて、メールを使う機会も増えてきました。送信数が増えてくると必然的に「うっかり送信先を間違える」なんてことも発生しそうで怖いです。Localを使って、ローカルでDynamoDBのテストができる環境を構築しました。pullみたいなことをしていたのですが、いい加減にWebサーバも増えてきて面倒くさくなってきました。超概要!導入からiOS/Android向けビルドまで。最近ぐいぐいきているCocos2d-xについて調べました。Cocos2d-xは、マルチプラットフォームの2Dゲームフレームワークです。X、Eclipse、Mavenへの導入から。最近、Scalaとか関数型プログラミングにも興味持ちはじめています。そんな中で、Java8がちょっとばかり関数型っぽい機能を取り込んだということで、調べました。DBをインストールする。7割はMy365の運用に使えるんじゃないかという希望的観測と、3割は趣味でMongoDBを少しかじってみることにしました。インストールするところまでです。Sparkの分散処理を実行する。EC2にクラスタを構築。」で構築したクラスタを使って、Sparkの分散処理を実行してみます。今回は、Spar...LinuxUUIDはなぜ、分散環境で好き勝手に生成しても衝突しないのか。RFC4122規格とUUIDの性質。Identifierの略で、単純にいえば世界でひとつのIDです。UUIDって言うけど、その正体は何なのか。PHPのuniqid関数でユニークIDを生成する。...SQLiteAndroidのSQLiteのクエリの実行時間を測定してみた。AndroidアプリでSQLite使おうと思って、導入してみたものの、どうも処理が遅いように感じました。いうわけで、自分が使いたかったクエリについて、少し測定してみました。画面にボタン置いて、クエリを発行する処理を書いただ...GitgitをインストールしてローカルPCで開発したWEBサイトをサーバに同期させるところまでgitでWEBサイトをアップロードするgitをインストールして、/var/repos/wwwにグループで共同開発できるレポジトリを作成します。ここに皆でpushするなりしてWEBサイトの開発を行います。[...]ホームWEB開発ミドルウェアPrestokatty0324経営半分、エンジニアリング半分でやってます。ECSのサービスを複数のロードバランサに追加する2022.01.10Railsプロジェクトにfactory_botの導入2021.12.26ビジネス文書は、読まないで済むほうがいい2021.09.26人気記事mkdirでディレクトリが存在しない時だけディレクトリを作成する。InnoDBの行ロックとテーブルロックの挙動2013.07.122021.02.18Tomcatのログをローテートさせて一定期間で削除する。2014.07.042021.03.07Linuxで共有ライブラリsoを作ったり使ったりする方法。2013.10.242021.02.11UUIDはなぜ、分散環境で好き勝手に生成しても衝突しないのか。RFC4122規格とUUIDの性質。2014.03.282021.02.188年乗ったクロスバイクのボロボロになったパーツをまとめて交換した。2016.11.282021.03.07PHPでnullとfalseと空文字と0は同じ?2011.03.262021.03.07階層化されたデータをHTTPのGETリクエストのパラメータに含める方法。2013.07.27IP制限されているWEBサイトをSSH経由でブラウザに表示する。2014.03.142021.02.11自作ツールテキスト一括変換ツールブラウザ上でリアルタイムにテキストの変換ができるツールです。日記その他ホーム検索トップサイドバーkatty0324経営半分、エンジニアリング半分でやってます。ECSのサービスを複数のロードバランサに追加する2022.01.10Railsプロジェクトにfactory_botの導入2021.12.26ビジネス文書は、読まないで済むほうがいい2021.09.26人気記事mkdirでディレクトリが存在しない時だけディレクトリを作成する。InnoDBの行ロックとテーブルロックの挙動2013.07.122021.02.18Tomcatのログをローテートさせて一定期間で削除する。2014.07.042021.03.07Linuxで共有ライブラリsoを作ったり使ったりする方法。2013.10.242021.02.11UUIDはなぜ、分散環境で好き勝手に生成しても衝突しないのか。RFC4122規格とUUIDの性質。2014.03.282021.02.188年乗ったクロスバイクのボロボロになったパーツをまとめて交換した。2016.11.282021.03.07PHPでnullとfalseと空文字と0は同じ?2011.03.262021.03.07階層化されたデータをHTTPのGETリクエストのパラメータに含める方法。2013.07.27IP制限されているWEBサイトをSSH経由でブラウザに表示する。2014.03.142021.02.11自作ツールテキスト一括変換ツールブラウザ上でリアルタイムにテキストの変換ができるツールです。Handlebars.js2タイトルとURLをコピーしました。