IDCF テックブログ

IDCF テックブログ

クラウド・データセンターを提供するIDCフロンティアの公式テックブログ

Windows/Macからデータ分析プラットフォーム(YBI)を使う際のあるあるトップ3

今回は、データ分析プラットフォームサービスであるYahoo! ビッグデータインサイト(以下「YBI」)をWindowsのPCやMacから使う際のつまずきポイントや、覚えておくと便利なことをランキング形式でご紹介します。

※2016年10月1日より、サービス名称が「Yahoo!ビッグデータインサイト」から「トレジャーデータサービス by IDCF」に変更となっております。

ybi_with_winmac

こんにちは、ビッグデータ戦略グループの高階(takashina)です。

前回のブログで、お昼ご飯にもりそばを食べてダイエットに取り組んでる旨を書きましたが、ちょっとピンチになってきました。足繁く通っていた会社近くのおそば屋さんがこの7月、8月に1軒ずつ閉店してしまいました。1か月内で同じ店には繰り返し行かないと決めているので、この閉店はとても痛い! おそば屋さんに限っては、月に2回行ってもいいことにしようかな..。新宿御苑近辺で新規開店するおそば屋さん募集中です。月1回はもりそば食べに行きます。

さて今日は、データ分析プラットフォームサービスであるYahoo! ビッグデータインサイト(以下「YBI」)をWindowsのPCやMacから使う際のつまずきポイントや、覚えておくと便利なことをランキング形式でご紹介しようと思います。YBIを使うと簡単にデータ分析が始められるのですが、アカウントを作って、ログインして、さぁ、始めよう!と思った矢先、ちょっとしたところでハマってしまうんですよね..。

第3位:チームメンバーを追加できない。。?

YBIはAccount Ownerのアカウントの中に、ユーザ数の制限なくチームメンバーを追加することができるので、同じ分析環境をチームメンバーで共有して使うことができます。 新しいチームメンバーを追加するのにメールアドレスを入力して、Add Team Memberしようとしたけどできない...なんでだぁ!
registerd

→ 追加するメールアドレスを見直そう

YBIアカウントはメールアドレスによって管理されており、アカウント登録済みのメールアドレスをさらに追加することはできません。そのため、YBIに登録済みのメールアドレスを追加しようとした場合、上の絵のように「User is already registered.」と怒られてしまいます。 もしかすると、試用でアカウント登録してあるメールアドレスなのかもしれませんね。

この場合、

  1. まず既に登録済みのアカウントのメールアドレス(A)を、別のメールアドレス(B)に変更する
  2. メールアドレス(A)をチームメンバーとして追加する (本来やりたかったこと)

というステップでチームメンバー追加することができます。

第2位:日本語のデータが文字化けしてしまう。。?

Windows PCでCSVファイルの中身を確認したり、ちょっとした編集をする際にはExcelを使ったりしますよね。 そうして編集したCSVファイルをYBIへインポートするのによく使われるのがバルクインポート。 しかし、いざバルクインポートしてみると、YBIのテーブルで文字化けしてしまう...なんでだぁ!

→ オプションを使って文字コードを変換しよう

WindowsではShift_JISの文字コードがよく使われますが、YBIではWebサービスでよく使われるUTF-8が使われています。 そのため、YBIで読める日本語にするためには、文字コード変換をしてあげればOKです。

    C:\> td import:auto ^
    --auto-create DBName.TableName ^
    --format csv ^ --column-header ^
    --encoding Windows-31J ^ 
    --time-column datetime ^
    --time-format "%Y/%m/%d %H:%M:%s" ^
    filename.csv

上記の例のように「--encoding Windows-31J」というオプションを使います。 インポートするCSVファイルの文字コードを予めUTF-8へ変換しておく手もありますが、インポートコマンドでコード変換をかける方が簡単でしょ?

第1位:tdコマンドラインツールでアカウント認証できない。。?

YBIはWebコンソールで様々な操作ができますが、tdコマンドラインツールを使うとより便利に使うことができます。 コマンドラインツールを使うとき、一番初めにアカウント認証を行うわけですが、ここでつまずき。 うまく認証ができない...なんでだぁ!

→ エンドポイントを指定しよう

YBIをコマンドラインツールで操作する際は、アカウント認証時にエンドポイントを指定しましょう。 これで解決です。

C:\> td -e https://ybi.jp-east.idcfcloud.com account -f 

これでOK!

tdコマンドラインツールを使うマシンでアカウント認証を実行すると、
Windowsの場合は、 C:\Users\[ユーザ名]\.td\td.conf
Macの場合は、 ~/.td/td.conf
のファイルにエンドポイントとユーザ名、API Keyが書き込まれるので、アカウント認証は最初に一度だけ行えばOKです。 これで最初のつまずきはクリア!

ちなみにFAQにも載ってます。
https://www.faq.idcf.jp/app/answers/detail/a_id/436/c/8

次点:バッチファイルで日付フォーマットの指定がうまくいかない。。?

これはWindowsの場合の話。 第2位の例のようにtime-formatを設定してうまくバルクインポートすることができました。これを自動的に定期実行するためにバッチファイルにしました。毎朝6時に実行することにしよう。スケジューラでセットして、と。出社したらインポートできてるはずだよね♪ で、確認したらtimeの値が全部0になってしまっている....なんでだぁ!

→ %を%%にするだけ

結論から言ってしまうと、これはYBIというよりWindowsのバッチファイルの話です。 バッチファイルでは「%hoge%」と%で挟まれた文字列を変数とみなすため、time-formatの設定がうまく効かなくなってしまいます。そこで、バッチファイルの中では「%」の代わりに「%%」にすることで解決です。上記の該当箇所は、バッチファイルでは下記のように書き換えます。

--time-format "%%Y/%%m/%%d %%H:%%M:%%s" ^

最近、Data Connectorによるデータインポートがリリースされたので、新たにバルクインポートを自動化することは少ないかと思いますが、バッチファイルでうまくいっていない場合は確認してみるといいかもしれません。

おわりに

今日は、YBIを使い始めてよく行き当たるつまずきポイントの解決方法についてまとめてみました。 データ発生元となるWebサーバやデータベースサーバはLinuxを使うことが多いですが、操作する皆さんの端末はWindowsやMacのことが多いですからね。この記事が皆さんのお役に立てれば幸いです。 YBIを使っていて不明な点がありましたらWebUI上部の「Email Support」からどしどしご質問ください。 無償アカウントをお持ちの方からのご質問でも大歓迎です。

また、YBIでは、これからビッグデータ分析を始める方向けに「Yahoo! ビッグデータインサイト めちゃ楽ガイド」をリリースしました。極力専門用語を使わずに、YBIを使う大まかな流れを理解できるようにしたドキュメントですので、是非読んでみてください。
こちらからダウンロードできます。
http://www.idcf.jp/bigdata/

それでは、ごきげんよう!

<関連記事>

Copyright © IDC Frontier Inc.