Meetupに初めて行ってみました。普段は福岡でやっているデータ周りの内容を東京で開催してみたとのこと。エンジニアとデータサイエンティストに加えてプランナーという職種を置いている話が印象的でした。以下はざっくりメモです。Engineerの3つに分かれている。hongoZeppelinはSpark以外にもMySQLなどに対してもクエリを実行できるフォームを埋め込めるのでクエリが分からない人でも値を簡単に入れることができる東京-福岡連携で実践するグロースハックプロジェクト/AyakaMatsuoka&doradora09分析前にヒアリングをしてあいまいなポイントをつぶす指標の定義が細かいことによる集計コストよりやり直しによるコストの方が大きい「やること」だけでなく、「やりたくなりそうなこと」「できないこと」を事前に握っておくリモートのメンバーに背景まで説明しなぜその分析をやるか?の疑問を抱かせない。IntroductionPrestoのパーサー部分ではANTLRが使われています。ファイルは以下のパスにあります。パーサー系で追加したり修正する場合はまずここを参照することになるかと思います。presto-parser/src/main/antlr4/com/facebook/presto/sql/parser/SqlBase.g4以下はCTAS文の抜粋です。SELECT文でカッコをつけても正常にパースしたい構文を追加する例をまずはあげてみます。#createTableAsSelect修正例はこんな感じになります。右側のカッコはエスケープするためにクォートで囲んでいます。なんとなくイメージがつくと思いますが、|はORの役割を果たしているのでqueryもしくは(query)をこれは表しています。#createTableAsSelectSqlBase.g4を修正したらpresto-parserに移動してビルドします。することでSqlBaseParser.javaというファイルが自動で作成されます。次に修正するのはAstBuilder.javaになります。この中のvisitCreateTableAsSelectメソッドでCreateTableAsSelectNodeを返却しています。string)?のように新たなプロパティを追加する際には、この部分を修正する必要があります。パーサーから先は呼び出しの階層が深いので、説明が困難ですが他の構文を参考にすれば結構楽に追えると思います。presto-spiがコネクターとのインターフェースを担っているので、新たな構文を追加した際にはここにまずはインターフェースを定義し、コネクター側で実装します。Work「大事なことに集中する」という本を読んでみて、できるところから実践してみています。Workに関する本です。Knuthのような偉大な人がメールすらやっていないのに、なぜ僕はSNSをやっているんだ!?という気持ちになります。instagramは削除、twitterは基本閲覧のみ。twitterもできれば辞めたいなぁと思いつつ、たまに知りたかった情報が流れてくることもありとても悩ましい...。LINEも勢い余って削除したんですが、さすがに周りに多少迷惑がかかっていたみたいなので、これは再インストール。これもある意味気が散る原因な感じがするので会社用携帯に一本化してみました。個人用は契約しているデータ容量を下げて、会社用の番号に電話転送の設定を入れています。9月が解約月なので、この時に再考してみます。仕事中は以前はメールは見た瞬間に返していたのですが、メーラーを常に起動しておくのを止めてみました。返信が必須ではないようなメールは朝イチ、昼休憩、帰る間際のどれかにだいたい返信しています。本の中ではもっと極端なことが書いてあるのですが、まずはうえに書いたようなレベルで始めてみました。これで時間は以前より捻出できたと思ってますが、中身が伴わないと意味がないので、空いた時間で何をやるかというのは継続して考えていく必要があるなぁと感じています。2017Webで公開されているカーネーギーメロン大学のDBに関する授業を一通り見てみました。2017多くの情報工学科(CS)でCPUやOSに関する授業はあると思うんですが、DB関連で、SQLや正規化ではなく内部的な話をやる学校ってかなり珍しいのではと思っています。Indexesはバージョンチェインのヘッドを常に指す。