流沙河鎮

情報技術系のこと書きます。

Apache Iceberg Table Spec v3 新機能「Row Lineage Tracking」の紹介

Apache Iceberg Table Spec v3の新機能である「Row Lineage Tracking」を紹介します

PyIcebergを試す

導入 サンプルデータ準備 Icebergカタログを作成する Icebergテーブルを作成する Namespaceを参照 テーブルをロードしてみる 列を追加してみる 導入 pip install --upgrade pip pip install "pyiceberg[s3fs,hive]" 用途に応じて以下を依存関係に加えられま…

Current 2024「DebeziumとKafka ConnectによってSlackは如何にしてCDCへ移行したか」まとめ

Current 2024 のセッション「Change Data Capture & Kafka How Slack Transitioned to CDC with Debezium & Kafka Connect」を日本語でまとめます。 Slackは 1 テーブルで 1 兆レコードを超える莫大なデータを効率的かつリアルタイムに分析基盤に取り込むた…

Iceberg Summit 2024「Apache Iceberg におけるテーブル暗号化」セッションまとめ

Iceberg Summit 2024 のセッション「Table Encryption in Apache Iceberg」を日本語でまとめます。

Iceberg Summit 2024「eBayでのApache Iceberg導入の旅」セッションまとめ

Iceberg Summit 2024 のセッション「eBay's Voyage with Apache Iceberg」を日本語でまとめます。

Subsurface 2024「テーブルを超えて:データアーキテクチャにおけるApache Icebergの次なるステップ」まとめ

Subsurface 2024 のセッション「Beyond Tables: What's Next for Apache Iceberg in Data Architecture」を日本語でまとめます。 Apache Icebergの産みの親の一人であり、Tabularの共同創設者兼CEOであるRyan Blue氏がApache Icebergの現状と将来について話…

Subsurface 2024「Apache Icebergの未来とエコシステムの展望」パネルディスカッションまとめ

Subsurface 2024 のパネルディスカッション「Keynote Panel: Looking Forward-Apache Iceberg and the Iceberg Ecosystem」を日本語でまとめます。 本パネルディスカッションでは、Icebergコミュニティと関連プロジェクトの専門家が集まり、Icebergの進化と…

【Iceberg 1.5新機能】viewの紹介 - 共通メタデータ形式とバージョン管理が実現する新たな可能性

2024/3/11、Iceberg 1.5がリリースされた。Iceberg 1.5で追加された重要な機能の一つがviewのサポートだ。本記事では、Iceberg viewの仕組みと機能を紹介しつつ、実践的な活用例としてcreate_changelog_viewについて解説する。

Apache Iceberg 1.5 アップデートまとめ

本記事ではIceberg 1.5のアップデート内容を紹介する。 記事内容はリリースノートと、各アップデートのPR、コードを基に作成した。 https://iceberg.apache.org/releases/

Fundamentals of data engineering 輪読会「Chapter 11.The Future of Data Engineering」まとめ

datatech-jpで開催中のFundamentals of Data Engineering (English Edition)読書会に向けた、「Chapter 11.The Future of Data Engineering」のまとめ。 以下は基本的には本文の要約であり、★マークがついている部分は私のコメントや付加情報である。 全体の…

Fundamentals of data engineering 輪読会「Chapter 10.Security and Privacy」まとめ

datatech-jpで開催中のFundamentals of Data Engineering (English Edition)読書会に向けた、「Chapter 10. Security and Privacy」のまとめ。 以下は基本的には本文の要約であり、★マークがついている部分は私のコメントや付加情報である。 セキュリティと…

J.P.Morgan Asset Managementのデータ分析 / MLプラットフォーム「AM IQ」についてのメモ

J.P.Morgan Asset ManagementのAWS re:Invent 2023での登壇「One data platform for reporting, analytics, and ML」の視聴メモ エントリ内の情報や図版は特に断りがない限り、youtube上の当該発表を基にしている www.youtube.com 概要 J.P.Morgan Asset Man…

Open AIを敢えて使わない、セルフホストなAI Chat Bot(RAG)の意義と作り方 〜スケーラビリティ/コスト最適化のアイデアを添えて〜

セルフホストなRAGアプリケーションを構築する意義と基本的なアプローチを紹介します。また、設計面での最適化についていくつかのアイデアを示します。

MagicAnimateで人物の画像から動画を作る方法

Bytedanceが発表した、人物の画像を元に動画を生成するモデル「MagicAnimate」を試したので知見を記しておく。 showlab.github.io 基本的にはオフィシャルのGetting Startedに従っておけば動くのだが、進めていて一部詰まる箇所があったので、誰かしらの役に…

Apache Iceberg Catalogの選択肢

2024/6/4追記:勉強会(OTFSG #2)で以下の記事の内容を整理+情報を追加した発表をしました。以下がその時のスライドになりますので、併せてご参照ください speakerdeck.com この記事は Distributed computing (Apache Spark, Hadoop, Kafka, ...) Advent C…

オープンなモデルをセルフホストする選択肢

ポエム回です Chat GPTのリリースから1年が経った。多くの人にとって縁遠い存在であったAI技術は今や世間の関心の的となり、孫正義をしてまだChatGPTを使ってない人は「人生を悔い改めた方がいい」とまで言わしめるほどだ。当初はその実務的な有用性に疑問を…

【翻訳】Bilibiliは如何にしてApache IcebergでData Lakehouseを構築したか?

この記事は著者であるRui Li氏の許可を得て翻訳したものです。 Original article: How Bilibili Builds OLAP Data Lakehouse with Apache Iceberg | by Rui Li | Medium. 文中の注釈は、訳者(@_Bassari)が読者の理解を助けるために付け加えました。 はじめに…

Apache Iceberg とは何か

はじめに 概要 Apache Iceberg(アイスバーグ)とは [重要] Icebergの本質はTable Specである Table Spec バージョン Icebergハンズオン Icebergの特徴 同時書き込み時の整合性担保 読み取り一貫性、Time Travelクエリ、Rollback Schema Evolution Hidden Part…

世界最大級のオンラインゲーム企業Riot Gamesを支える日次70TB規模のデータ基盤のユースケース

データプラットフォーム界隈の人々がコミケに技術本を出展しているのを見て、自分でも何か書きたくなってきた。そこで、世界最大級のオンラインゲーム企業であるRiot Gamesのデータ基盤がどのようにプレイヤー体験を支えているかについて、2022 AWS re:Inven…

データレイクの新しいカタチ:Open Table Formatの紹介

はじめに Open Table Formatは次世代のデータレイクの基盤となり得る技術で、徐々に導入事例(末尾に列挙)が増えてきているものの、日本での認知度は発展途上な印象がある。本記事ではOpen Table Format登場の背景を紹介する。執筆にあたって、Apache Iceberg…

Spark 3.3前後でnull値を含むDataFrameをcsvに書き込む時の挙動が異なる

Sparkのバージョン上げる時にハマりそうな考慮点のメモ null値を含むDataFrameをCSVファイルを書き込む際、~Spark 3.2とSpark 3.3~で書き込まれる値が変わる。~Spark 3.2ではnullの項目は[""]=空文字としてcsvに書かれるのに対して、Spark 3.3~では[]=空…

CDKでGlue DataCatalog TableにParameters(パラメータ)を指定する方法

結論 現状のGlue DataCatalog L2コンストラクトはParametersをサポートしていないので、escape hatchで対応する必要がある。 Abstractions and escape hatches - AWS Cloud Development Kit (AWS CDK) v2 Glue CDKコンストラクトを取り巻く状況 以下の2つを…

30歳になったのでIT業界で過ごした20代を振り返る

いくつかの大胆なフェイクが混ぜてあるので、以下はフィクションである 先日30歳の誕生日を迎えた。僕にとっての20代は文系学部を卒業して全くの未経験からIT業界に入り、亀の歩みで適応し、何とかITエンジニアの端くれを名乗れなくもない程度まで成長を遂げ…

オブザーバビリティについて理解したこと

先日、縁あってオブザーバビリティ(可観測性)勉強会の講師を務める機会があった。普通に考えれば教壇に立つからにはその分野に大変詳しいことが期待されると思うが、恐るべきことに僕は講師を引き受けるまでオブザーバビリティについて何も知らなかった。 そ…

Pandas2系でpandas.DataFrame.append()が削除された対処と背景

2023年4月、pandas 2.0がリリースされた。 What’s new in 2.0.0 (April 3, 2023) — pandas 2.1.0.dev0+766.g935244a9b9 documentation さっそく手元のツール群のバージョンを上げた所、従来append()を使っていた処理が動かなくなりハマった。 pandas.DataFra…

Selenium4系ではfindElement(s)By~関数が削除された

Selenium4系の最新では、要素の取得に用いるfindElement(s)By~関数が削除されている。元々deprecatedであったのが、完全に削除された格好。 driver.findElementById("elementId") driver.findElementByName("elementName") driver.findElementByXPath("xPat…

dockerコンテナにGPUを利用させる時は--gpusオプションを渡す

dockerコンテナにホストマシンのGPUを認識させたい時は--gpusオプションで対象のGPUを指定する。利用可能な全てのGPUを使わせたい場合はall docker run -it --rm --gpus all ubuntu nvidia-smi デバイスを指定する場合 docker run -it --rm --gpus device=GP…

IFTTTでTwitterへの投稿をmstdn.jpにも転送する時の考慮点

Fediverseデビューしたものの即座にTwitterを離脱するのは難しそう。でもFediverse側も盛り上げていきたい。なので当面はTwitterとFediverse両方に同じ内容をポストしようとなるのだが、これがめんどくさい。そこで自動化することにした。(Twitterが国境を開…

【kdb+】q言語基礎_目次ページ

# 以下は2020年頃に執筆した過去ブログのアーカイブです。現在メンテしておらず、一部の情報が古い可能性があります Kx Systemsが提供する大規模データ蓄積、分析エコシステム「kdb+」と、知る人ぞ知るその実装言語「q」。 日本語記事が全く存在しない超ニッ…

q言語基礎_6_テーブル

# 以下は2020年頃に執筆した過去ブログのアーカイブです。現在メンテしておらず、一部の情報が古い可能性があります へんてこデータベースもどき「kdb」と、知る人ぞ知るその実装言語「q」の基本を解説する本シリーズ。 本連載の目的はq言語の基本的な情報、…