Java

Hive on TezにおいてDISTRIBUTE BY指定したクエリのFile Mergeの挙動

Hive on Tezにおいて、DISTRIBUTE BYを指定したクエリが、File Mergeが有効化されていたことによって想定外の挙動になった。 Hiveのバージョンは、3.1.3でORC形式のテーブルを想定している。また、他のバージョンでは修正されている可能性はある。 まず、DIS…

HiveServer3.1.3をローカルデバッグする

今回、Hive3.1.3をDocker上で立ち上げ、HiveServerにリモートデバッガをアタッチしてHiveServerの処理を詳細にデバッグする環境をセットアップします。開発環境はIntelliJを前提としてます。 公式にHive用のDockerImageを提供するIssueがHive4.0.0で導入され…

JavaサーバーサイドエンジニアのEthereum開発入門

Ethereumのスマートコントラクトを活用したアプリケーション開発についていろいろやった内容をまとめる Ethereumおさらい コンピュータサイエンスの観点から見たイーサリアムは、決定論的であるものの実質的に制約のない状態マシンであり、グローバルにアク…

Spring WebFlux2.4.3 - WebSocketHandlerにPrincipalを受け渡す

要約 現時点で、WebFluxでWebSocketをハンドリングするWebSocketHandlerで受け取っているWebSocketSessionのHandshakeInfoが保有する principleMonoは、Mono.empty()を返している。 これはHttpWebHandlerAdaperが、DefaultServerWebExchangeを生成しており、…

MySQL 5.7のsys.innodb_lock_waitsを可視化する

要約 MySQLには 現在トランザクションが待機しているロックの要約を見るためのsys.innodb_lock_waitsビューが定義されている。(https://dev.mysql.com/doc/refman/5.7/en/sys-innodb-lock-waits.html) アプリケーションでlock timeoutの前兆を検出し、sys.in…

Akka Typed JavaDSLでConcurrent Theta Sketchする

Akka Typed JavaDSLとDataSketchesをとりあえず使ってみるだけの備忘録。DataSketchesの中でもTheta Sketch Frameworkを使用する。今回やっていることは以下とほぼ同じ。 DataSketches | ThetaJavaExample Concurrent Theta Sketchは自力で書かなくても Uplo…

HBaseをローカル分散モードで立ち上げてJavaから繋ぐまで

好き勝手やるためにローカル分散モードで立ち上げてJavaのHBase Clientから繋ぐまでやる。 HBaseローカル分散モードでコンテナ起動 GitHub - big-data-europe/docker-hbase > git clone https://github.com/big-data-europe/docker-hbase.git > docker-compo…

Javaで並行処理するのにサクッと使えるCompletableFuture

ScalaならFutureでも十分使いやすいのであまり困ることはないが、JavaのFutureはScalaのFutureとは異なり使いにくい(個人的な感想)。 似たような方法で簡単に並行処理を行える方法はないか?と調べたところ、CompletableFutureなるものがあるのを見つけた。1…