Things)と呼ばれる技術があります。SIOSビッグデータチームとしても、これらの技術によって大量に収集されるデータには注目しています。Piが普及してきています。Arduinoは、接触センサや赤外センサなど各種センサを実装でき、なおかつBluetoothやZigBeeなどの通信モジュールの実装も可能です。複数台のArduinoを組み合わせて自宅内センサネットワークを構築し、日常生活の見える化ができたら楽しそうですね。したビッグデータを生み出す様々なアイデアを実現するために、私たちも日々、ビッグデータ関連技術についての調査も進めています。それでは本題に入ります。今回のブログのテーマは、HiveQLです。TreasureDataのtd-commandでは、下記のコマンドの様に、HiveQLというSQLに似たクエリ言語を利用し、TreasureData上のデータを操作することを可能としています。5”そこで、HiveQLの知識共有のために、ビッグデータチーム内でプレゼンを行った際のスライドとその補足情報にて、HiveQLを記述する際の注意点や役立つTipsを紹介したいと思います。commandでは、SELECT文に関するクエリのみ有効(一部例外有り)となっています。下記にHiveQLのSELECTの構文を示します(参考:公式ドキュメント)。そのため、より高速にデータ処理を行いたい場合は、カラム内のデータにスキーマを設定することが効果的です。現在はデータインポート時にスキーマがセットされるため、この辺りをきにする必要はないです。約2億件のレコードに対して、下記3種類の集計用クエリをTreasureData上で発行した際のMapReduceのCPU処理時間の比較を行います。ids2.id上記のクエリを発行した場合、MapReduceは3段構成で実行されます。ids2.id上記のクエリを発行した場合、MapReduceは2段構成で実行されます。ids2.id上記のクエリを発行した場合、MapReduceは2段構成で実行されます。COUNT計算(1)では24分6秒かかっていたものが、(3)では10分4秒と半分以下に時間を短縮することができました。JOINやMapJoinを利用する事で、効果的に処理することができます。JOINについては、CPU処理時間の短縮には効果が薄いですが、MapReduceの回数を削減できることで、データ転送の時間を削減できるメリットがあります。*注意*CPU処理時間は、CPU占有数によっても変動します。スキーマが自動でセットされるようになったため、クエリも下記の通りにvカラムではなく直接カラム名を利用しましょう。現在のTDにおけるHiveのバージョンは、0.10のため、ROLLUPの利用は可能となっております。Dataを効果的・効率的に利用していきましょう。雑誌等の執筆依頼を受付しております。役に立たなかった0人がこの投稿は役に立ったと言っています。コメントをキャンセルメールアドレスは表示されません。Reserved.本サイトに掲載されている社名、製品名、サービス名等は各社の商標または登録商標です。プライバシーポリシーお問い合わせ。