0こんにちは、SSTDの大村です。Data内のデータを外部ファイルに出力しました。DataはBIツールなどで分析を行うためのデータを外部DBにすることができます。今回はMySQLにデータを定期的に出力する方法を紹介します。準備まずはじめにMySQL側の準備をします。MySQLの説明はしませんが、以下のDB、テーブル、ユーザを設定します。ALTERの権限が必要です。この権限を持ったユーザを作成します。‘hogehoge’ポートの確認MySQLのポートを外部からアクセス可能に設定します。今回は以前作成したtestdbのwww_accessテーブルの日別、コード別のカウント数を集計して書き込みます。一度だけ書き込むには下記の設定を行います。実際に書き込んでみましょう。実行結果が標準出力に表示されます。set確認MySQL側のテーブルを確認します。sec)集計したデータが書き込めていることが確認できました。次に定期的にデータをMySQLに出力する設定をします。Result設定まずは出力先の設定をします。先ほどはテーブル名までresultオプションに設定しましたが、今回はDB名まで指定します。result:createの後ろに任意のResult名を指定し、その後ろに’mysql://{DBのユーザ}:{パスワード}@{DBが存在するhost}/{DB名}’を記述します。“mysql://td_user:hogehoge@xxx.host.com/web_access”スケジュール設定Resultの設定を行ったら、スケジュールの設定を行います。{cron}部分はcrontabの時間設定と同じように指定します。文法は以下になります。{クエリ}1日分のアクセス数をMySQLに出力する設定をしてみましょう。長いのですが、毎日23時59分にその日のアクセス数をコード別に出力するsched_mysqlというスケジュールを設定しました。先ほどのクエリに「当日分」という条件を加えています。動作するか確認してみましょう。試験データを作成します。Dataに用意されているサンプルデータを利用します。sample.jsonこれでローカルにsample.jsonというファイルができますので、先頭の2行を抜き出します。head.json現在のunix時間を表示し、head.jsonの中の2箇所の「”time”:XXXXXXXXXXXX」の部分の数値を現在のunix時間に修正します。Dataにインポートします。head.jsonそれでは1日待って、確認してください。言いたいところですが、次の日になると忘れそうなのですぐに確認するためにスケジュールを実行します。sched:runで実行します。時間は過去の時間を書けばすぐに実行されます。messages.MySQL側のテーブルを確認します。sec)2件の当日分のデータが増えていることが確認できました。Dataに貯めたデータを定期的に外部DBに出力することができます。この機能を利用することによって、日々のデータの様子を外部DBにひもづいたBIツールで確認することができます。Dataに保存し、必要な情報だけをDBに蓄積していきましょう。雑誌等の執筆依頼を受付しております。役に立たなかった0人がこの投稿は役に立ったと言っています。コメントをキャンセルメールアドレスは表示されません。Reserved.本サイトに掲載されている社名、製品名、サービス名等は各社の商標または登録商標です。プライバシーポリシーお問い合わせ。