Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GCPUG-FUKUOKA データ加工&可視化ハンズオン

1,224 views

Published on

11/11 Dataprep & Data Studio ハンズオン資料

Published in: Data & Analytics

GCPUG-FUKUOKA データ加工&可視化ハンズオン

  1. 1. Google Cloud Dataprep Google Data Studio 2017/11/11 Wasaburo Miyata データ加工&可視化ハンズオン
  2. 2. 2 宮田 和三郎(Wasaburo Miyata) 好きなサービス:BigQuery 所属:嘉穂無線ホールディングス/データ活用 所属:カホエンタープライズ/CTO
  3. 3. 3 ■Agenda 1. ハンズオン説明 ○ 使用データ/作成ダッシュボード ○ アーキテクチャ 2. Google Cloud Dataprep(ベータ版) ○ 概要/初期設定 ○ ハンズオン①(基本操作) ○ ハンズオン②(データ編集) ○ ハンズオン③(データ出力) 3. Google Data Studio(ベータ版) ○ 概要 ○ ハンズオン ※11/11時点で公開ベータ版のサービスです。GAの際には操作方 法など変更となっている可能性があります。
  4. 4. 4 ハンズオン説明
  5. 5. 5 福岡市の大気環境測定結果(直近48時間) # 項目 1 年月日 2 測定局名称 3 測定項目 4 緯度 5 経度 6 単位 7 測定値(1時) ~ ~ 30 測定値(24時) 福岡市内16箇所の直近48時間の大気環境測定データ(1時間毎に更新)です。 なお、値は未確定なので後日修正されることがあります。 https://ckan.open-governmentdata.org/dataset/atmospheric48 使用データ
  6. 6. 6 作成ダッシュボード
  7. 7. 7 アーキテクチャ Data Studio Cloud Dataprep Cloud Shell Cloud Storage Cloud Storage オープンデータ CSV 文字コード変換 データ編集 可視化 レポート共有 https://datasut・・
  8. 8. 8 Google Cloud Dataprep
  9. 9. 9 データ加工(前処理)どのように行ってますか?
  10. 10. 10 ● エディタの機能で置換、コピペ、マクロ ● Excelでピボットテーブル、関数 ● プログラムで一行ずつ処理 ● sed,awk,grepを駆使 ● RやPythonでデータフレームに突っ込んで処理 ● 分散DB(DWH)に突っ込んでSQL ● Hadoop 定型化したい スケールしたい エンジニア必要 Cloud Dataprep データ編集いろいろ
  11. 11. 11 Dataprep概要 1. コード不要でデータ準備、クレンジングが可能 2. 自動でデータ型を予測、欠損値、外れ値を検出 3. Trifacta(https://www.trifacta.com/)をGCP上で実装 4. サーバーレス&自動スケール(裏でCloud Dataflowが起動) 5. 現時点でShift_JIS未対応(UTF-8が無難) https://www.trifacta.com/support/articles/topics/139873-transforms https://cloud.google.com/dataprep/docs/ ※11/11時点(公開ベータ版)GAの際には変更となっている可能性 があります。
  12. 12. 12 料金 Dataprep自体の使用は課金されないが、Dataprep内 で使用される下記に課金される。 ● Google Cloud Dataflow: Cloud Dataprep ジョブは Cloud Dataflow ジョブとして実行され、Cloud Dataflow の料金体系に従って課金 ● ストレージ リソース: Google Cloud Storage に保存されたデータ は、Cloud Storage の料金体系に従って課金
  13. 13. 13 処理イメージ 1. 入力データ準備 2. 編集処理(フロー)作成 3. ファイル出力(ジョブ実行)
  14. 14. 14 入力と出力 1. BigQuery 2. Excel 3. CSV 4. JSON 5. PLAIN TEXT 6. LOG 7. TSV 8. Avro https://cloud.google.com/dataprep/docs/html/Supported-File-Formats_57344528 Input Output 1. BigQuery 2. CSV 3. JSON 4. Avro
  15. 15. 15 Dataprepハンズオン
  16. 16. 16 https://cloud.google.com/dataprep/docs/quickstarts/quickstart-dataprep 1. アカウント作成 2. GCPプロジェクトを作成 3. プロジェクト課金設定 4. API有効化 a. Cloud Dataflow b. BigQuery c. Cloud Storage プロジェクト設定
  17. 17. 17 1. Google Cloud Shell 起動 2. ファイル準備 a. データダウンロード b. UTF-8変換 c. GCSへアップロード https://github.com/wamiya/dataprep-handson/blob/master/uplaodgcs.txt クリック Shellのが画面が起動 される データ設置
  18. 18. 初回設定 18 ① ② ③
  19. 19. 19 ハンズオン①(基本操作) 1. 入力データ設定 2. データ参照(サンプリングデータ設定) 3. データ編集(Suggestionを利用) 4. レシピ操作 5. ジョブ実行(データ出力) 6. データソースプロファイル
  20. 20. Inputデータ設定 20 ①DATASETS ②Import Data ③GCS ④プロジェクト名-dataprep ⑤+ ⑥import ⑦Wrangle in new Flow
  21. 21. データ確認 21 様々な条件データを絞り込んで実データを確認 Random,FirstRows,Filter-based,Anomaly-based Stratified,Cluster-based 取得したサンプルの データセットを選択
  22. 22. 異常値/欠損値を見つけて、除外/置換する 22 ②異常値(数字 以外)を検出 ①自動で整数型 と判定 ③対象データのハ イライト ④選択したデータに対し て除外や置換などの処 理が提案される ⑤提案された内容を選択し、 Addする事で処理実行され る。
  23. 23. レシピ確認/操作 23 ①アイコンク リック ②ここのレシピ(データ 編集に内容)が表示さ れる。
  24. 24. ジョブ実行(出力) 24 ①クリック ②データプロファイルを見 る場合は、チェック ③実行
  25. 25. ジョブ実行(出力) 25 ①クリック ②Dataflowが実行 ③処理完了後、結 果が表示
  26. 26. 26 データソースプロファイル ファイル全体の情報 各データのヒストグラムや基本統計量、最頻値等を表示
  27. 27. 27 ハンズオン②(データ編集) 1. 時間列データ縦持ち 2. 欠損値置換 3. 時間列設定 3.1. 置換(column_ ⇒ “”) 3.2. 置換(24 ⇒ 0) 4. 日付時刻列作成 4.1. 翌日列作成 4.2. 日付置換(24時は翌日へ) 4.3. 日付時刻列作成 4.4. 日付時刻列書式設定 5. 不要列の削除 6. 列名変換
  28. 28. 28 ハンズオン②(データ編集) 年月日 測定局 測定項目 緯度 経度 単位 値(1時) ~ 値(24時) 20171101 香椎 一酸化窒素 33.6723 130.437 ppd 8 ー 12 [編集前] 年月日-時間 測定局 測定項目 単位 値 2017-11-01 01:00:00 香椎 一酸化窒素 ppd 8 2017-11-01 02:00:00 香椎 一酸化窒素 ppd 10 ・・・・・ ・・ ・・ ・・・ ・・・・ 2017-11-01 23:00:00 香椎 一酸化窒素 ppd 7 2017-11-02 00:00:00 香椎 一酸化窒素 ppd 12 [編集後]
  29. 29. 29 時間列データ縦持ち ①Columnsクリック ②縦持ちにしたいカラムを全て選択(column1~Column24) ※Windowsの場合Shiftを押しながら最初の列と最後の列を選択 ③ Action ↓ Restructure ↓ Unpivot
  30. 30. 30 ④Add 時間列データ縦持ち
  31. 31. 31 欠損値置換 ①赤い部分(mismatched)をクリッ ク ②「mismatched values to NULL」をクリッ ク ③Add
  32. 32. 32 時間列設定(文字列”column_”を削除) ①”column_”と いう文字列を 選択 ②「’column’ with ‘’ in key」を選 択 ③Add
  33. 33. 33 時間列設定(24を0に置換) ①”column_”と いう文字列を 選択 ②「’24’ with ‘’ in key」を選 択 ③edit
  34. 34. 34 時間列設定(24を0に置換) ④New valueに0を 設定 ⑤Add
  35. 35. 35 翌日列作成 ①derive ②DATEADD(column,1,day) ③nextday ④Add
  36. 36. 36 日付置換(24時は翌日へ) ①set ②column ③IF(key==0,nextday, column) ④Add
  37. 37. 37 日付時刻列作成 ①set ②column ④Add ③DATETIME(year(column),month(column),day(column),key,0,0)
  38. 38. 38 日付時刻列の書式設定 ①column横のメニューより Format⇒Change format ② dateformat( $col, 'yyyy-MM-dd HH:mm:ss' ) ③Add
  39. 39. 39 不要列の削除 ①Columns ②削除対象の列選択 ・nextday ・column3 ・column4 ・key ③Action ③Drop
  40. 40. 40 列名変更 ①列横のメニューより rename ②新しい名前を入れる ③Add 下記の通り名前を設定する。 列名 新しい列名 column date_time column1 kyoku column2 koumoku column5 tani value value
  41. 41. 41 ハンズオン③(データ出力) 1. ジョブ設定 2. ジョブ実行
  42. 42. 42 ジョブ設定 ①edit
  43. 43. 43 ジョブ設定 ②・・・ ③GCS ④プロジェクト-dataprep
  44. 44. 44 ジョブ設定 ⑤Create new file
  45. 45. 45 出力ジョブ設定 ⑥kankyo-out ⑦チェック ⑧Save Settings
  46. 46. 46 出力ジョブ実行 ⑨Run job
  47. 47. 47 出力ジョブ実行 GCS上にファイルが作成されてい る事を確認
  48. 48. 48 Google Cloud DataStudio
  49. 49. 49 ■概要 1. 無料のダッシュボード/レポート作成ツール 2. 様々なデータソースを使用する事が可能 a. BigQuery/Cloud SQL b. Goolge アナリティクス c. Google スプレッドシート・・・・などなど 3. データの変換・計算式が可能 4. リアルタイムでの共有、共同編集が可能 https://cloud.google.com/data-studio/?hl=ja
  50. 50. 50 ハンズオン 1. データソース 1.1. データソース接続 1.2. データソース編集 2. レポート作成 2.1. タイトル 2.2. フィルタ 2.3. 円グラフ 2.4. 期間 2.5. ピボットテーブル 2.6. レイアウト/テーマ 3. 実行と共有 3.1. レポート名変更と実行 3.2. レポート共有
  51. 51. 51 https://datastudio.google.com/?hl=ja データソース接続
  52. 52. 52 データソース接続
  53. 53. 53 データソース接続(初回のみ)
  54. 54. 54 データソース接続(初回のみ)
  55. 55. 55 データソース接続(初回のみ)
  56. 56. 56 データソース接続(初回のみ)
  57. 57. 57 データソース接続(初回のみ)
  58. 58. 58 データソース接続 ①出力したファイルを指定 [プロジェクト]-dataprep/kankyo-out.csv ②接続
  59. 59. 59 日付時刻タイプ設定 ①日付時(YYYYMMDDHH)
  60. 60. 60 日付フィールド作成 ①複製
  61. 61. 61 日付フィールド作成 ①日付(YYYYMMDD)
  62. 62. 62 値フィールド設定 ①数値
  63. 63. 63 値フィールド設定 ①平均値
  64. 64. 64 名称の変更 ①kankyodata ② date_time ⇒ 日付時刻 date_timeのコピー ⇒ 日付 tani ⇒ 単位 value ⇒ 値 kyoku ⇒ 測定局 koumoku ⇒ 測定項目 ③レポート の作成
  65. 65. 65 レポート作成 ①レポートに追加
  66. 66. 66 レポート作成(タイトル) ①テキストを選択 ②配置してタイトルを記載 ③フォントなどは ここで設定
  67. 67. 67 レポート作成(フィルタ) ①フィルタオプションを選択 ②フィルタの配置 ③ディメンションを 「測定項目」に変 更
  68. 68. 68 レポート作成(フィルタ) ④スタイル設定 ☑エキスバンド ☑単一選択 □検索ボックスを有効にする □数値の短縮表示
  69. 69. 69 レポート作成(円グラフ) ①円グラフを選択 ②円グラフを配置 ③ディメンションを測 定局に変更
  70. 70. 70 レポート作成(期間) ①期間を選択 ②期間を配置 ③時間ディメンションを 日付時刻に変更 ④内訳ディメンションに 測定局を追加
  71. 71. 71 レポート作成(ピボットテーブル) ①ピボットテーブルを選択 ②ピボットテーブルを 配置 ④列のディメンションに測定局を 設定 ③行のディメンションに日付を設 定 ⑤合計 ☑行の総計を表示する ☑列の総計を表示する ⑥並び替え 行の並び替えを日付の昇順とす る。
  72. 72. 72 レポート作成(レイアウト/テーマ) ①ここで書式を好きなように設定 する。
  73. 73. 73 レポート名称変更と実行 ①レポート名を変更 ②ビュー
  74. 74. 74 レポート共有 ①このレポートを共有 ②共有設定を行い「完了」
  75. 75. 75 色んなデータで遊んでみよう。 ありがとうございました。

×