サービス説明〄〄〄〄〄〄〄
はじめに〄〄〄〄〄〄〄〄〄
ゕカウント作成〄〄〄〄〄〄
データンポート〄〄〄〄〄
データ分析〄〄〄〄〄〄〄〄
データ出力〄〄〄〄〄〄〄.
よくある質問〄〄〄〄〄〄〄
1
2
6
5
4
3
7
P2
P3
P13
P19
P26
P4
P6
データ分析 データ ンポート データ 出力
タ分析基盤サービスです。
【特長1】ンフラ不要!
クラウド型のサービスなので、ンフラの構築、運用、監視は必要ありません。
データの増大を気にすることなくご利用いただけます。
【特長2】スキーマ設計不要!
分析したいデータを投入するだけですぐに始められます。
【特長3】安心のセキュリテゖ!
データは国内のデータセンターに保管してあるので、セキュリテゖも安心。
閉域網 (オプション)を利用すれば、よりセキュゕにデータを転送することも
可能です。
BIツール 外部ストレージ等 データソース◉このガドをご利用いただきたい方
●
コマンドランツールに慣れてない方
●
データベースやSQLなどの用語がよく分からない方
●
非エンジニゕ、データ分析に興味がある方
◉ 目標
●
Treasure Dataサービス by IDCF(以降、TD)を使ってデータ分析
の流れを理解する
●
Webコンソールで基本的な操作ができる
●
簡単なクエリが書ける
◉進め方
●
Webコンソールのみで操作
Step
1
Step
2
Step
3
Step
4
ゕカウント
作成
データ
ンポート
データ
分析
データ
出力
無料でお試し利用 ができる、スター ターゕカウントを 作成します。 分析対象のデータ をTDに取り込み ます。
ンポートした データの中から必 要なものを抽出す る処理を実行しま 抽出した結果の データを外部シス テムに出力します。
最短1分で お申し込み
Treasure Dataサービス by IDCFの
アカウント作成
無料でお試し利用ができる「Treasure Dataサービス by IDCF」のスターターゕカウントを
作成して、ログンしましょう。
ゕカウント作成画面
【URL】 https://console.ybi.idcfcloud.net/ users/sign_up2
必要事項を入力して「Start free trial」を クリックします。 ●「Work email」 …ログン用メールゕドレス ●「Phone」 …国番号81+先頭の「0」を除いた電話番号 例)日本国内で03-9999-9999の場合 …81399999999を入力 入力したメールゕドレスにゕカウント作成 確認のメールが届きます。 メールを開いて、
「Confirm your account」をクリックすれ ば、ゕカウント作成の完了です。
1
下記URLにゕクセスし、ゕカウントを作成 しましょう。
ゕカウント作成
メールの認証
Step
1
4
ログン画面
【URL】 https://console.ybi.idcfcloud.net /users/sign_in 次回から、サービスご利用の際には、この ログン画面からゕクセスします。3
チュートリゕルで基本操作を覚えましょう。 TDの簡単な使い方を知ることができます。 「Start」をクリックして、順番通りに操作 します。 ブックマークがおすすめ!基本的な操作の理解
ログン画面からのゕクセス
各ンポート方法の詳しい特徴については https://docs.ybi.idcfcloud.net/articles/import-overview
データベース
「sample_datasets」
Step
2
データインポート (TSV アップロード)
データンポートとは、お客さまのデータをTD上にゕップロードすることを意味します。
データンポートの方法には、「File Upload」、「Client SDKs
(*1) 」「Streaming
Collector」、「Bulk Loader」があります。この章では、「File Upload」機能を使って、
TSV
(*2)フゔルをゕップロードしましょう。
テーブル
「table1」
テーブル
「table2」
カラム
レコード
データベース〆データを入れる箱 テーブル 〆データベースに入っている表形式のデータの集まり レコード 〆テーブルの一行。1件分のデータを意味する カラム 〆テーブルの縦方向に、同じ意味を持ったデータが並ぶ(*1)SDK:Software Development Kitの略語。ソフトウェゕを開発するために必要なツールなど一式。 (*2)TSV:文字や文字列の間にタブ記号を挿入して区切りを設けること、あるいはそのようにして各データ を区切って管理するフゔル形式のこと。
2
1
ローカル環境にあるフゔルをTDにンポートしましょう。 まず、ローカル環境にCSV(*3)やTSVフゔルをご用意ください。 CSVやTSVフゔルがなければ、下記のURLからデータンポートのサンプル用TSVフゔル をローカル環境にダウンロードしてご利用ください。 データをゕップロードしましょう。 画面の左の一番上にある青色の 「Collect Data」をクリックします。サンプルデータ
(*3)CSV:データベースの各レコードにおいて、フゖールドの区切りをカンマ「〃」のみで表現する形式のこと。 各レコードの区切りは改行で表現。 CSV形式で保存されたフゔルには拡張子として「.csv」が付く。分析対象データ(フゔル)の用意
フゔルゕップロード
【URL】 https://www.idcf.jp/bigdata/sampledata/stock_record.tsv3
「File Upload」の下にある「Import」を クリックします。4
画面の中央の「Browse File System」をク リックして、ローカル環境に用意したン ポート対象のフゔルを指定します。6
任意のデータベース名を入力して「Create」 をクリックします。 今回は、例として「stock_db」という名前の データベースを作成してみます。 データベース名の制限 ●文字数〆3~255文字 ●文字種別〆 −ゕルフゔベット半角小文字 −数字 −記号は「_」(ゕンダーバー)のみデータベースの作成
5
ンポートしたフゔルを保存するデータ ベースを作成しましょう。 ①ゕップロードしたフゔルが画面に表示 されます。 ②「Databases」の右にある「+」をクリッ クしましょう。
①
②
8
テーブル名を入力して、「Create」をク リックします。 今回は、例として「table1」という名前の テーブルを作成します。 テーブル名の制限 ●文字数〆3~255文字 ●文字種別〆 −ゕルフゔベット半角小文字 −数字 −記号は「_」(ゕンダーバー)のみテーブルの作成
7
9ページで作成したデータベースの中に、 テーブルを作成しましょう。 「Tables」の右にある「+」をクリックし ます。データベースとテーブルの選択
プレビュー
(*4)time column:時刻を表すカラムを意味します。TDでは、時刻のデータが集まっているカラムを「time」 として指定する必要があります。9
①「stock_db」というデータベースと 「table1」というテーブルが表示されまし た。②「Use selected table」をクリックして、 データンポート先のテーブルを指定しま しょう。
①
②
10
ンポートするテーブルの情報が表示され ます。 「Submit」をクリックすると、データン ポートが開始されます。注意
【注意】「Missing “time” column(*4)」と
いう警告が表示される場合、 “time”というカラム名が指定され てないことを意味します。時刻を 表すカラム名を”time”として指定 してください。時刻を表すカラム 名がない場合は、任意のカラム名 を”time”として指定してください。
ンポートの完了
11
「Success」表示がされると、データの ンポートが完了しました。
クエリを作成する前に、SQL(*6)でテーブルからデータを抽出するSelect文の簡単な構成について
理解しましょう。
SELECT (カラム名) FROM (テーブル名 ) WHERE (条件式) ORDER BY (カラム名)
SELECT (カラム名) : 抽出するカラム名を指定します FROM (テーブル名) : テーブルを指定します WHERE (条件式) : テーブルに入っているレコード(行)の中から、抽出するレコード の絞り込み条件を指定します ORDER BY (カラム名) : 抽出結果の行の順番を入れ替えます ●SELECT 文は全て半角文字で入力します。 ●SQLでは、命令中の句の順番を変えることはできません。 必ず、「SELECT→FROM→WHERE→ORDER BY」の順番通りに記述してください。 順番を間違えるとエラーになります。 ●複数のカラム名を書く場合は、半角カンマ 「,」 で区切ってください。最後のカ ラム名に対しては「,」は不要です。 スペース
˅
˅
˅
˅
˅
˅
˅
˅
Step
3-1
データ分析 【基本編】
(*5)クエリ〆クエリ(Query)とは、英語で「問い合わせ(る)」、「尋ねる」などの意味を持つ英語の単語。IT では、データの問い合わせや要求などを一定の形式で文字に表現したもので、クエリを通じてデータの検索や更 新、削除、抽出などの要求をデータベース(DBMS)に送信することができます。
Step2の手順でTD上にデータをゕップロードし、データが分析できるようになりました。
Step3では、ンポートしたデータに対してクエリ
(*5)を作成し、データ分析をします。
Step3は、基本的なクエリを作成するStep3-1の【基本編】と「time」関数を使う
Step3-2の【応用編】に分かれます。
データ分析
3
2
①画面の左の「New Query」をクリック します。 ②使用するデータベースを選択します。 「Select a database..」をクリックして、 [stock_db」を選択します。 ③分析エンジンのタプを選択します。 データの量や実行したい分析内容によって、 適した分析エンジンを選択しましょう。 今回は、「Type」で,「Presto(*7)」をク リックします。「Presto」の選択ができな い場合は(ゕカウント登録日から14日が過 ぎた場合)、「Hive(*8)」をクリックします。 ① ② ③ ①「table1」テーブルから「symbol」、「open」、「close」の3つのカラムを抽出する。 ②「close」の値が「open」の値より大きいもののみに絞り込む。 ③「close」の値で降順に並べ替える。1
先ほど、TD上にゕップロードしたサンプルデータを使って、クエリを作成しましょう。 というクエリを作成します。
クエリ作成の画面
(*7)Presto〆ンメモリ処理により大規模データベースのクエリをンタラクテゖブに実行できる。ゕドホッ ク処理に適している。 【ドキュメントサト】 【URL】 https://docs.ybi.idcfcloud.net/articles/data-processing-overviewクエリの概要
*スタータープランでは、ゕカウント登録日 から14日間のみ「Presto」も利用できます。① ② ③
3
クエリを作成する際に必要なカラム名を 参照しましょう。 「table1」をクリックすると、テーブル 内のカラム名が表示されます。
4
①「table1」テーブルから抽出するカラム 名を参照します。 ②SELECT文を書きます。 ③「Run」をクリックすると、クエリが実 行されます。 上記構文の意味を説明します。
●SELECT symbol, open, close
…symbol, open, closeというカラムを抽出する。 ●FROM table1
…table1というテーブルから抽出する。 ●WHERE close > open
…Closeの数値がOpenの数値より大きいものだけを抽出する。
SELECT symbol, open, close FROM
table1
WHERE close > open ORDER BY close DESC
5
クエリの実行が成功すると、画面に 「Success」が表示されます。6
画面を下にスクロールダウンすると、右の ような分析結果が表示されます。symbol, open, closeのカラムを抽出し、 closeの数値の降順で表示されたことが分か ります。
クエリ実行の完了
1
3-2
データ分析 【応用編】
Step3-1で、基本的なクエリが作成できるようになりました。Step3-2では「time」関
数を使ってみましょう。「time」関数を使うと、必要な期間のデータだけを読み込むこ
とができるので、クエリの速度を向上させることができます。
●時刻データの変換 • TDにデータをンポートすると、時刻情報はUNIXタムスタンプ(*9)として保存されま す。 • 「TD_TIME_FORMAT」というUDF(*10)を使うことにより、UNIXタムスタンプを日付 と時刻の形式に変換することができます。 【記述例】 • 「time」カラムを「yyyy-MM-dd HH:mm:ss」形式に、日本標準時間で変換します。 ●時間範囲の指定 • Hiveの場合は、「'」(シングルクォーテーション)を「"」(ダブルクォーテーション) で囲みます。 • TDでは、ンポートしたデータをtimeカラムを利用して、1時間単位で保存領域を分けて 保存しています。 • 抽出するデータの時間範囲を指定することにより、その時間範囲の保存領域のみにゕクセ スするため、クエリ実行速度を向上させることができます。 【記述例】 • 「time」カラムが2014年1月30日0時0分0秒から2014年01月31日0時0分0秒までのデー タのみを抽出することを意味します。 • ‘yyyy-MM-dd’形式の後に何も指定しない場合は’yyyy-MM-dd 00:00:00’になります。 TD_TIME_FORMAT(time,'日付フォーマット','タムゾーン') TD_TIME_FORMAT(time, 'yyyy-MM-dd HH:mm:ss','JST') TD_TIME_RANGE(time, '開始時間', '終了時間') TD_TIME_RANGE(time, '2014-01-30', '2014-01-31')「time」関数でできること
2
SELECT TD_TIME_FORMAT (time, 'yyyy-MM-dd HH:mm:ss' , 'JST') AS date, symbol,
open, close FROM table1 WHERE close > open
AND TD_TIME_RANGE(time, '2014-09-05', '2014-09-20') ORDER BY close DESC
必要な項目を選択して、Select文を記述し て「Run」をクリックしましょう。