Trino

Presto/Trinoのサブクエリ重複実行問題について

Presto/Trinoは分散クエリを高速に実行するためにストリーミング型のアーキテクチャを採用しているのですが、このためクエリ内に重複箇所があっても複数回並列に実行されてしまうという問題があります。わかりやすい例だと、CTEで定義したクエリを複数回参照…

今年のTrinoへのコントリビューションをまとめてみた

前半は仕事が忙しすぎてOSS活動どころではなかったのですが、後半から少し余裕ができたのでTrinoにも細かい改善やバグ修正などいくつかPRを送って取り込んでもらうことができたので記録のためにまとめてみました。 Fix error message in SqlTimestampWithTim…

TrinoにおけるPostgreSQLのVARCHAR/CHAR型に対する範囲検索のプッシュダウンについて

TrinoはJDBC経由で様々なデータベースに接続できるのですが、PostgreSQLコネクタで以前はサポートされていたVARCHAR/CHAR型のカラムに対する範囲検索(<、<=、>、>=)のプッシュダウンがTrino 353以降廃止されていました。これはTrinoとPostgreSQLのCOLLATIO…

Trino/Prestoをdockerで動かしてみる

もう少しTrino/Prestoネタもブログに書いていこうかなというのと、普段テスト用途で古いバージョンのTrino/Prestoを手元で動かす際にdockerを使うことが多いので自分用のメモを兼ねて。 TrinoはDockerHubで公式のdockerイメージが公開されているので簡単にdo…

TrinoでOpenLineageを試してみる

OpenLineageはデータリネージの業界標準の仕様となることを目指しているプロジェクトで、JSONベースのリネージイベントスキーマ定義、JavaやPython向けのリネージイベント構築用ライブラリ、Apache Airflow、Apache Spark、dbt用のインテグレーションなどを…

trino-client-ruby 1.0.0をリリースしました

トレジャーデータが公開しているOSSの1つにpresto-client-rubyというRuby用のPrestoクライアントライブラリがあり、最近色々と弄る機会が増えてきたのでメンテナにしていただいたのですが、PrestoSQLがTrinoのリブランディングされ通信の仕様も若干変わった…

Trino/Prestoの互換性調査補助ツールを作った

Trino/Prestoをバージョンアップする際には事前に動作の互換性検証などを行なっているのですが、検証作業自体は以前Presto Conference Tokyo 2020でも紹介させていただいたquery-simulatorという内製のツールを使って自動化されているものの、実際に非互換の…

presto-client-rubyのメンテナになりました

トレジャーデータでOSSとしてPrestoのRubyクライアントを公開しているのですが、最近諸事情によりこちらをいじる機会が出てきたのでメンテナにしてもらいました。 github.com rubygems.org これまでにHTTPのリダイレクト対応やgzip圧縮のサポートなどを追加…

Presto Conference Tokyo 2020でトレジャーデータにおけるPrestoサービスのテスト戦略について発表させていただきました

今年はリモート開催となったPresto Conference Tokyo 2020で、トレジャーデータのPrestoサービスのテスト戦略について発表させていただきました。 スライドはこちらです。 Testing Distributed Query Engine as a Service from takezoe www2.slideshare.net …

Presto: The Definitive Guide: SQL at Any Scale, on Any Storage, in Any Environment

昨年から執筆中という話だったオライリーのPresto本がこの4月に発売になったとのことでゴールデンウィーク中に読んでみました。 [asin:B086R9FHB7:detail] Kindleでも7000円以上という高価格ですが、実は著者の皆さんが勤務されている米Starburst社のWebサイ…