2018-01-01から1年間の記事一覧

「データ分析基盤構築入門」を読む

Appendix B Embulk & Digdag入門 B-2 EmbulkとDigdagのセットアップ java install Embulkのinstall Digdagのinstall example.dig 実行結果

「データ分析基盤構築入門」を読む

6-3 Fluentdの設定カスタマイズ <label>ディレクティブ 6.29図 複数のデータパイプラインを作る設定例 プラグインのflowcounterをinstall 流れてくる(flow)データの個数を数える(counter)、byteを数える count_keysは count,bytes,count_ratio,bytes_ratio,すべてを</label>…

「データ分析基盤構築入門」を読む

6-3 Fluentdの設定カスタマイズ <label>ディレクティブ 6.28図 タグを条件にラベルを付け替えた設定例 dt-agentをリスタート してfludent-catでメッージを送る 送られてきたメッセージをlogで確認</label>

「データ分析基盤構築入門」を読む

6-3 Fluentdの設定カスタマイズ <label>ディレクティブ grepのregexpのところを変更 td-agentをrestartさせメッセージを送る ログをみるためtailコマンドを立ち上げる 表示されたメッセージ</label>

「データ分析基盤構築入門」を読む

6-3 Fluentdの設定カスタマイズ <filter>ディレクティブ 本文97page 図6.23のとうりではうまくいかなかったので以下のように変更 td-agentをrestartし、fluent-catからメッセージを送る errorを含むメッセージのみ表示 confがちゃんと書けているかチエックするのに -</filter>…

「データ分析基盤構築入門」を読む

6-2 Fluentdのセットアップ fluent-catはツールの1つでtcpを使ってfluentdにデータを投げる。fluentdの<source></source>にforwardが設定されていれば データを受信できる。PATHは/opt/td-agent/embedded/bin/ 6-3 Fluentdの設定カスタマイズ <system>ディレクティブ まず<system>に設定する </system></system>…

「データ分析基盤構築入門」を読む

1 章 データ分析の概要 省略 2章 ログデータの基礎 省略 3章 データ分析基盤の構築 省略 4章 データ分析基盤の運用 省略 5章 ログ収集ミドルウェアの紹介 省略 6章 はじめてみようFluentd C:\Users\USER\myproject\vagrant\fluentdで vagrant up vagrant ssh…

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 9 Spark MLibによるデータ分析 9-5 ユースケースに沿って、バッチ分析を行う

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 8 Spark SQLによるデータ処理 必要となるデータはここを参考に配置 atsuizo.hatenadiary.jp 8-8 データ分析

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 7 Spark Streamingによるデータ分析 (Chapter 6はうまく動作しなかったのでパス) データの集計軸の設定方法 データの集計実行 データ出力基準の変更 ウインドウ方式の変更 特定のデータのみ出力、条件にあったデータが少ないためかデータ量があまり…

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 5 Spark Streamingによるデータ処理 5-4 センサーデータのストリームデータ処理(結果出力) kafkaへのデータ送信 5-5 実際に運用に当たって考慮すべきこと UDF化

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 5 Spark Streamingによるデータ処理 5-3 センサーデータのストリーム処理(イベント単位) kafkaからのセンサデータ取得方法(05-04.py) このままではjsonの文字列を表示しているだけなのでカラムとして認識させるためパースさせた結果(05-05.py) デ…

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 5 Spark Streamingによるデータ処理 5-3 センサーデータのストリーム処理(イベント単位) センサーデータを用意して`/var/log/sensor_data/`にsensor_data.logとして保存しておく zookeeper,kafkaを起動しておく。 td-agentの`/etc/td-agent/td-age…

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 5 Spark Streamingによるデータ処理 5-1 ストリーム処理とは? データが生成されてから直後の数秒以内にレスポンスよく処理をストリーム処理と呼ぶ バッチ処理とストリーム処理の結合=マイクロバッチ処理 5-2 Spark Structured Stremingによるストリ…

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 4 Fluentd,Kafkaによるデータ収集 4-4 データ収集フローの構築 本に従ってFluentdの設定ファイル`/etc/td-agent/td-agent.conf‘を書き換え 同じく本に従ってkafka側の設定 td-agent.confを変更したのでFluentdを再起動`systemctl restart td-agent` …

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 4 Fluentd,Kafkaによるデータ収集 Chapter 4 Fluentd,Kafkaによるデータ収集 4-3 データ収集詳細 - Apache Kafka詳細 kafkaのinstall 本の通りのurlでは、何故か接続できなかったので本家に行ってdownload kafka.apache.org Zookeeperの起動 /opt/ka…

アプリケーションエンジニアのためのApache Spark入門を読む

Chapter 1 データ分析プラットフォームの概要 Chapter 2 Sparkの概要 2-5 本書で利用する環境 Windows10上にVirtusBox+Vagrantで構築とあるがUbuntuを使っているので(mint 18.01)こちらに環境を構築する。 Chapter 3 サンプルユースケース概要 Chapter 4 Flu…

「ビックデータ分析・活用のためのSQLレシピ」を読む

7-3 データの重複を検出する 7-3-1 マスターデータの重複を検出する import pandas as pd import numpy as np import psycopg2 conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") mst_categories = pd.read_sql("SELECT * FROM mst_c…

「ビックデータ分析・活用のためのSQLレシピ」を読む

7-2 異常値を検出する 7-2-1 データの分布を計算する import pandas as pd import numpy as np import psycopg2 conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") action_log_with_noise = pd.read_sql("SELECT * FROM action_log_w…

「ビックデータ分析・活用のためのSQLレシピ」を読む

7章 データ活用の精度を高めるための分析術 7-1 データを組み合わせて、新たな切り口を作る 7-1-1 IPアドレスから国・地域を補完する import pandas as pd import numpy as np mst_city_ip = pd.read_csv('GeoLite2-City-Blocks-IPv4.csv') print(mst_city_i…

「ビックデータ分析・活用のためのSQLレシピ」を読む

6章 Webサイトでの行動を把握するためのデータ抽出 6-1 サイト全体の特徴・傾向を見つける 6-1-1 日次の訪問者数・訪問回数・ページビューを集計する import pandas as pd import psycopg2 import numpy as np conn = psycopg2.connect("dbname=BigData host…

「ビックデータ分析・活用のためのSQLレシピ」を読む

5-2 ユーザー全体の時系列による状態変化を見つける import pandas as pd import psycopg2 import numpy as np conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") df_user = pd.read_sql("SELECT * FROM mst_users", conn) print(df_…

「ビックデータ分析・活用のためのSQLレシピ」を読む

5章 ユーザーを把握するためのデータ抽出 5-1 ユーザー全体の特徴・傾向を見つける 5-1-1 ユーザーのアクション数を集計する import pandas as pd import psycopg2 import numpy as np conn = psycopg2.connect("dbname=BigData host=localhost user=testuse…

「ビックデータ分析・活用のためのSQLレシピ」を読む

4-2-2 ABC分析で売れ筋を判別する conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") df = pd.read_sql("SELECT * FROM purchase_detail_log", conn) print(df.head(10)) df1 = df.groupby('category')['price'].sum() df2 = pd.Data…

「ビックデータ分析・活用のためのSQLレシピ」を読む

4-4-6 売上を把握するための大事なポイント conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") df = pd.read_sql("SELECT * FROM purchase_log_long", conn) print(df) #難しい df['dt'] = pd.to_datetime(df['dt']) df = df.set_ind…

「ビックデータ分析・活用のためのSQLレシピ」を読む

4-4-2 移動平均を用いて日別の推移を見る import pandas as pd import psycopg2 import numpy as np conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") df = pd.read_sql("SELECT * FROM purchase_log", conn) print(df.head(10)) gb…

「ビックデータ分析・活用のためのSQLレシピ」を読む

4章 売上を把握するためのデータ抽出 4-4 時系列に沿ってデータを集約する 4-4-1 日別の売上を集計する import pandas as pd import psycopg2 import numpy as np conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") df = pd.read_sql…

「ビックデータ分析・活用のためのSQLレシピ」を読む

3-4-3 条件のフラグを0と1で表現する import pandas as pd import psycopg2 import numpy as np conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") df1 = pd.read_sql("SELECT * FROM mst_users_with_card_number", conn) df2 = pd.r…

「ビックデータ分析・活用のためのSQLレシピ」を読む

3-4 複数のテーブルに対する操作 3-4-1 複数のテーブルを縦に並べる import pandas as pd import psycopg2 import numpy as np conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") df1 = pd.read_sql("SELECT * FROM app1_mst_users",…

「ビックデータ分析・活用のためのSQLレシピ」を読む

3-3-2 グループの中での順序を扱う conn = psycopg2.connect("dbname=BigData host=localhost user=testuser") df = pd.read_sql("SELECT * FROM popular_products", conn) print(df) df['row'] = df['score'].rank( ascending=False, method='first' ).asty…