Kuduを10分で試すシリーズの3回目です。Kuduにデータを書き込むチュートリアルを試してみましょう。Kudu-Sparkのクイックスタートはこちらから参照できます。このチュートリアルではSparkを利用するため、Sparkのインストールが必要です。このチュートリアルではSparkをローカルマシンにインストールしていましたが、手元の環境(Mac)にはSparkがインストールされていたので、インストールの手順は省略します。今回のチュートリアルで利用するデータは「サンフランシスコ市交通局」が提供しているパブリックデータです。https://data.sfgov.org/Transportation/Historical-raw-AVL-GPS-data/5fk7-ivit/data日付ごとにgzipで圧縮したCSVファイル形式で提供されており、チュートリアルでは2013/1/1のデータをwgetでダウンロードして使用します。このデータセットはDOS形式の改行コード(CR+LF)のため、trコマンドを使用してUNIX形式(LF)に変換しています。sfmtaAVLRawData01012013.csv上記でダウンロード、および変換されたCSVファイルの先頭を表示して見ると次のようになりました。チュートリアルでは各列の意味には言及していませんが、データ分析をするのであればヘッダ行が参考になるかもしれません。今回のチュートリアルではspark-shellを使っています。パッケージを指定します。spark-shellが起動しました。チュートリアルに従います。CSVファイルのロード先ほどダウンロードしたCSVファイルをロードします。上記で確認したように先ほどのCSVファイルにはヘッダ行があるので、オプションでヘッダを指定し、inferSchemaを指定して型の推論を行います。ctrl+Dを押してください。始まる行を全て入力します。このコードでは次の操作を行なっています。次のような結果になりました。データは約85万件です。fields]データをKuduにロードする準備を行うCSVファイルを正しくロードできたようなので、Kuduにデータを投入する前処理を行います。次のコードで行なっているのは主に次の2つです。Ctrl+Dを押して実行します。DataFramでは次のように変更されていることが確認できます。(それ以外の結果は同じなので出力は割愛します)。false)KuduにデータをロードするまずKuduにテーブルを作成します。前回のチュートリアルではjshellを使って作成しましたが、今回はspark-shellで行います。次のコードを貼り付けて実行してください。オリジナルのチュートリアルで紹介されているコードは字下げ文字にTabが使われており、そのまま貼り付けると失敗するのでご注意ください。アクセスし、テーブルが作成されたことを確認してみました。sfmta_kuduテーブルが一番下に出力されています。作成したKuduのテーブルに事前準備したデータをインサートします。このコードもチュートリアルで紹介されているコードをそのまま貼り付けると失敗するのでご注意ください。次のコードは修正済みなのでうまくいくはず。5").show()結果は次のようになります。fields]Kuduにデータを挿入し、先ほどのCSVファイルと同様にデータをクエリすることができました。続いてのチュートリアルでは、データのクエリと変更を行います。データのクエリ車速が一番早いデータをクエリします。1").show()しかし、上記のクエリをそのまま実行すると全ての列が表示され、画面上で見にくいため、チュートリアルの出力例と同じになるように、クエリを以下のように変更しました。mapで検索し、時速68マイルで東に向かっているバスだと記述されていました。82.0はどういう意味?)ともあれ時速108キロはセンサーの異常だと思われるため、この5411のタグ(バス?)のデータを削除します。5411").show()上記のクエリを実行します。SQLでvehicle_tagが5411の条件のデータをクエリし、kuduContext.deleteRowsで削除を行います。今気づいたけど、SQLで削除してないのは何か理由があるのかな?結果、1169件あったデータが0件になりました。0|+--------+CSVファイルやParquetの場合、ファイルの変更はできません。(別のファイルに新規に書き出すことは可能ですが)。変更されないような大量なデータをParquet形式などでHDFSに保存しておいて分析することは問題ないでしょうが、直近で追加、変更されたデータをすぐに分析したい、という用途では不十分です。Kuduを使えば、変更された大量のデータもすぐに分析対象にすることができるので、ユースケースが広がりますね。本日はさくらインターネット研究所で実施されたイベントに@naoto_matsumotoさんからお誘いいただき参加してきました。@shiumachi氏によるImpalaの説明。初の日本語でまとまっている資料(?)。KernelのPageCacheとSwapの資料を発見したので、slideshareで公開します。若干古いですが参考になれば。間違いがあればご指摘ください。コメントをキャンセルメールアドレスが公開されることはありません。*サイトProfilekernel023HadoopやSparkなどのビッグデータ系技術情報を公開しています。(outdated)ホーム検索トップサイドバーProfilekernel023HadoopやSparkなどのビッグデータ系技術情報を公開しています。