スキップしてメイン コンテンツに移動

今使わないと時代遅れになるApache Drill(OLAP・統計用)

Apache Drillは
Apache財団がサポートしている
データコネクタエンジンの一つである。

csv、json、Parquet、RDBなど
異なるデータタイプでも繋いで
統計などを作成するのができるのですごい!

Google Analyticsなどのデータを
CSVに落としてRDBの会員データと繋いで
イベントの検索と統計を抽出したり、

オンラインゲームパブリッシャーなどの
異なるDBを使うしかない分野で
最高のパフォーマンスをもたらすエンジンなので
必ず導入を検討した方がいいと思います。

詳細はDocumentationを…

しかし!
まだまだ弱点があり、
それを記録します。
もし改善できたらいいけど
色々試した結果を残しますので
導入にご参考を!

これはODBC・JDBCみたいなものではない
OpenOLAPみたいに
Selectのみできるツールなので
今までのR-OLAPのお悩みの方に最適だと思います。

テーブル名に決まりがあります。
規則がはっきり分かりませんが、
deviceという名のテーブルはダメ!
もしこの様な読み取れないテーブル名があったら
DBMSからViewを作成するのをお薦めします。

そして use dfs.tmp などの
書き込みができるファイルシステムを選択すると
自分のViewなどが作れますよ!

JSONとかCSVのフィールドの読み取りが
上手くできないケースがあるが、
それはSubQueryで解決できる

Flattenマニュアル
ネスト(Nest、繰り返し)構造のJSONファイルをQueryする

Apache Parquet(パケイ?)フォーマットに
すると統計がより高速になる。
https://parquet.apache.org/
Parquetはファイルの記録方法の一つであり、
HDFS(Hadoop File System)との相性がいい、
HDFSに記録するときParquetにして
読み取ると大きいデータの統計が上手くいける!
今まで4TBまでのテキストを試しましたが
まだまだ行けそうです!
ファイル分け方などのコツが必要ですが…。
適当にするとCSVより遅くなるケースもあります。
https://dev.classmethod.jp/cloud/aws/amazon-athena-using-parquet/

ということで
データ構造の理解と
Queryの能力によって
まだまだ無限の可能性を持っている
と思ってます!


コメント

このブログの人気の投稿

コピペができないときチェックすべきこと! :: よく迷うUiPathのコツ

UiPath( https://uipath.com )はMicrosoft社のWWFを改良した製品なのでVisual Studioより初心者向けに使いやすくなっている。 しかし、初心者がそのまま使うにはかなりのハドルがある。 理由は基本開発者向けの開発ツールを無理やり便利に作ってみたとしても開発の概念と考え方がないと結構躓くことが多い。 そのなかで私もよく迷ったりしていることの一つを整理しとく。 基本Activityはすぐコピぺができるので多数のUiPath Studioを開いて開発してたりする。 ここでコピペをしても反応ないときがよくある。 この場合はこれをチェックすること! 1.Sequenceがなく一つのActivityしかないところにはペーストできないのが多い。 例えば、ifの処理ボックスにはSequenceが最初はない。 そのボックスに一つのActivityはペーストできるのに2個目からはなぜか反応ない。 それで分からないまま新しいActivityを追加してたりしたが、 あそこにSequenceを入れたら解決ができるのだ! 2.正常にペーストできるはずのところに反応ない。 この場合はPackageが合わなくペーストが効かないケースが多い。 DESIGN>Manage Packagesをクリックしてコピー元のパッケージにインストールされているのにコピー先にインストールされてないパッケージを探す! パッケージを一々見るのが難しい!と思ったら メモ帳からファイルがあるフォルダにあるproject.jsonファイルを開いてみる! あそこにJSONの形式でインストールされたパッケージが見えるので比較しやすくなる! ちなみにコピペをすると変数の宣言が大変だと思うが、 そこでもコツがあるのだ! 変数の宣言はなるべく細かくしてSequence単位で管理できるようにする。 全てに影響がある変数はしょうがないから一番広く宣言するけど。 初心者向けの説明だと、 Variablesというところをクリックして変数を開いたらScopeという範囲が見える! 大体Sequenceボックスの名前を変えてないのでSequenceがすらりと表示されてるはずが、Sequenceボックスの名前を付けてたら見やすくなる。 あ...

英語をより楽に勉強できる方法

英語ができなくて良い機会が失われた経験があるでしょう。 GoogleさんもMicrosoftさんも英語で面接をしてます。 私がエンジニアですが技術より言語の学びが優先だと思います。 知り合いの中で技術は低いが英語が上手い人が私より良い道を歩いてます。 それは会話ができなければ技術も通じないとのことでしょう。 それで色々お試ししましたところ 情報を公開しようとしてます! まず、 Khan Academy( https://www.khanacademy.org/ )に入会! これはSalman Khanという人が自分の親戚に数学を教えるために試したやり方が色んな人が参加してグーグルさんとマイクロソフトさんが投資をした 完全無料教育サービス です。 しかし、これは英語でしか話してないので初心者の方には無理があるでしょう。 それでも、この記事をお読みになられた方は基本的な文法は学んだ方だと考えときます。 そして TEDアプリ( https://www.ted.com/ ) をダウンロード。 日本語の字幕がある映像の中で自分の好みの映像を選んでください。 有名なスピーカが話したことが多いので話し方など良い勉強になります。 次は MeetUp( https://www.meetup.com/ja-JP/ ) でしょ。 英会話グループを探して加入。 自分のレベルに合わせて参加してら良い友達もできるし勉強にもなります。 電車で単語ばっかり暗記している方が見つかりますが、 それも悪くは無いけど効率はどうかと思います。 やはり勉強は楽しく!自分の好みでは無いと! 映画も良いしドラマも良いです。それともゲームとか旅行もあるでしょう。 自分の趣味から始めるのが大切だと思います。 もしドロンが趣味だとしたらわざわざググってみる。 そして英語のページから探すんです。 最初は無理があるけど好きなイメージなどが見つかったら読みたいでしょ? そのページをスクリーンショットかプリントでも良いです。 その文書の単語を探して読んでみるのが第一歩ですね。 最初は辛いでしょ。 私の場合には最初には単語10個だけ探しました。 1日10個だけ辞書から探して残りは捨てる。 さらに10個をその場で暗記してそれで終わり。 翌日3~4個し...

UiPath - Excelのシート名が存在した場合の処理

UiPath.Excel Activityは活用方法によってかなり強力ですが、隠れて探せない項目が多すぎて困ったりします。 公式ドキュメントもいまいちだし…。 Excelを自動化するには協力なUiPathの機能の中でSheetの判断処理を残します。 今まではシートがあったら何とかしようとしたら見つける方法が分からなく、ErrorのExceptionで判断したりしましたが、 workbook.GetSheets.Contains("<sheet name>") があったのをいまさら見つけました; 早速試してみましたが、 messageboxにworkbookとか書いてみても出てこない…。 これはExcel Application Scopeを利用しなければなりませんでした! まずExcel Application ScopeにExcelファイルを登録! Excel Application Scope Activityの属性にOutputにwbを入力して変数に入れます。 変数に入れてからMessageBoxに wb.GetSheet.Contains("Sheet1") を入力してみると成功! 「wb.」をおした時点でいっぱい出てきましたね。 ググってみても詳しく出て着なかったのでここにまず記録 giip - Free UiPath and Rpa Integrated Orchestration Service https://giipasp.azurewebsites.net