🤔 DuckDB × PyIceberg の使いみちについて考えてみる
2日遅れになってしまいましたが、、、
この記事は MicroAd Advent Calendar 2024 と Distributed computing (Apache Spark, Hadoop, Kafka, ...) Advent Calendar 2023 の1日目の記事です。
注: 執筆現在 2024/12/03 1:14
今年もアドカレの季節がやってきました🎄
今回は、DuckDBがIcebergに対応してたり、PyIcebergにDuckDBを見つけたので、どんなもんか試してみた。
- はじめに
- DuckDBについて
- PyIcebergについて
- DuckDBのIcebergサポートについて
- 概要説明
- 試す際のハマりポイント
- HTTP PROXY対策
- S3互換ストレージ向けの接続設定
- PyIcebergのDuckDBサポートについて
- 使いどころを考える🤔
- 最後に
- 補足
Ubuntu Bdgieメモ: TweeksでCapsとCtrlのSwap
Ubuntu Bdgieを利用中なので自分用にメモ。
環境
Caps Lockキーを左Ctrlキーとして使いたい(&Caps Lockキーはいらない)
デフォルトでは入っていないGNOME Tweeksをインストール。
sudo apt-get install gnome-tweak-tool -y
その後、Tweeksから数のようにして設定。 ポイントは、「Caps Lockを無効」かつ「Caps LockをCtrlとして使う」。「Caps Lockを無効」がないと機能しなかった。。。


困りごと
US配列キーボードで、半角・全角キーを生やすにはどうしたらいいか問題。。。
現状は入力ソースを「英語(US)」と「日本語(Mozc)」の2つにして、ショートカット(Win+Space)で切り替えてるのだけど、Windows利用する場合とショートカット(Alt+~)が異なるので厄介。長年の悩み。
Icebergのデータ層にs3a使わずにOzoneでデータ分析に最適なofs/FSOを使いたい話
この記事は MicroAd Advent Calendar 2023 と Distributed computing (Apache Spark, Hadoop, Kafka, ...) Advent Calendar 2023 の25日目の記事です。
アドカレも今日で最後になりました。会社の方は全部埋まって記事も投稿出来てるので一安心ですが、Distributed computing アドカレの方は寂しい状態です。とは言え、参加してくれた皆さんには感謝しかないし、どの記事も良かった!
ただ、せっかくなので、出来るだけ空いてるところを埋めていきたいところ。
では、今日のお題に入っていきます。
前提
続きを読むRKE2ノードのCiliumを使ったeBPFな帯域制限をする話
この記事は MicroAd Advent Calendar 2023 と Kubernetes Advent Calendar 2023 の5日目の記事です。
オンプレあるあるな悩みとして、データセンターと外の通信にはインターネットを経由する都合、1つのアプリで契約している帯域を専有してしまいインターネット通信が輻輳1 (ふくそう)し、他のシステムの本番環境に影響させてしまう事があったりします。
今回は、RKE22 で構築したKubernetesノードにて、Pod発の通信に対して帯域制限をかける方法について紹介します。
- 環境
- 種明かし
- 利用できるか確認する
- Nodeのセットアップ
- RKE2のみの場合
- Rancherを使ってクラスターをCreateする場合
- CiliumのBandwidth Managerが有効になっているか確認
- Podに帯域制限をかけるには?
- 実際に試してみてる
- 最後に
- おまけ
- 「輻輳」とは、ネットワークトラフィックが集中して、通信速度が低下すること↩
- docs.rke2.io↩
Icebergテーブルの内部構造について
この記事は MicroAd Advent Calendar 2023 と Distributed computing (Apache Spark, Hadoop, Kafka, ...) Advent Calendar 2023 の1日目の記事です。
今年もアドカレの季節がやってきました🎄
今回は、ここ数年でデータ界隈で盛り上がっているOpen Table FormatのIcebergテーブルについて書いていきます。 Hiveテーブルとの比較とか、Icebergテーブルの特徴(Time Travel や Rollback、Hidden Partitioning、Full Schema Evolution等)については、あっちこっちで大分こすられてます。
そこで、Icebergテーブルの特徴がなぜ実現できているのかについて知るために、内部構造がどうなっているかを掘り下げていきます。 また、内部構造を知ることでIcebergテーブルを利用する際の運用面についてもイメージしやすくなってくると思います。
では、始めていきます。
(´-`).。oO(ソースコードまでは掘り下げできなかったので、ソースコードコードリーディングとかしたいですね。私はほぼ読めませんけど。)
- はじめに
- Icebergテーブル:データ層
- データ層(データファイル)
- データ層(削除ファイル)
- データ層(Puffinファイル)
- Icebergテーブル:メタデータ層
- Icebergテーブル:カタログ
- 最後に
- 参考
- 補足
TiDBをHadoop管理者視点でデータ基盤としての使い所を考えてみる
この記事は MicroAd Advent Calendar 2022 と Distributed computing (Apache Spark, Hadoop, Kafka, ...) Advent Calendar 2022 の25日目の記事です。
今年のアドカレも最終日になりました。
とは言え、Distributed computing Advent Calendar 2022 の方はエントリが結構残ってるので、引き続き空いてる枠への参加をお待ちしてます!
今回は、Hadoopクラスタ管理者の視点で、データ基盤としてTiDBの使い所について考えてみます。 また、データ基盤の規模感としては、ペタバイトレベルのクラスタ、1テーブルあたり最大100TBクラスを想定しています。
- TiDBとは
- データ基盤として見たときにTiDBに求めるもの
- 構築する場合の運用しやすさ
- TiUPコマンドがとにかく便利
- 負荷テストやベンチ、Sandbox環境も簡単。TiUPならね。
- KubernetesでのTiDB構築について
- データの可用性について
- データベースやテーブルサイズに対する上限
- テーブルサイズや行数について
- パーティションについて
- テーブルのデータ型やデータ操作について
- スキーマ進化出来るか(テーブル定義やパーティションの変更しやすさ)
- 構築する場合の運用しやすさ
- 使い所を考える
- さいごに