From dacd5023836f8c2996b60e453f7cebea0afebd15 Mon Sep 17 00:00:00 2001 From: DanRoscigno Date: Thu, 12 Feb 2026 18:31:51 -0500 Subject: [PATCH 1/4] trigger Signed-off-by: DanRoscigno --- docs/en/quick_start/iceberg.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/en/quick_start/iceberg.md b/docs/en/quick_start/iceberg.md index c190c44e..c3b988c6 100644 --- a/docs/en/quick_start/iceberg.md +++ b/docs/en/quick_start/iceberg.md @@ -11,6 +11,8 @@ import Clients from '../_assets/quick-start/_clientsCompose.mdx' # Apache Iceberg Lakehouse +ice ice baby + This guide will get you up and running with Apache Iceberg™ using StarRocks™, including sample code to highlight some powerful features. From a819a31454dddeaaadc6bd4bc258925e6989b8bd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Feb 2026 23:33:25 +0000 Subject: [PATCH 2/4] chore: add automated translations Generated by markdown-translator Triggered by: @DanRoscigno --- docs/zh/quick_start/iceberg.md | 245 +++++++++++++++++++++++++++++++++ 1 file changed, 245 insertions(+) create mode 100644 docs/zh/quick_start/iceberg.md diff --git a/docs/zh/quick_start/iceberg.md b/docs/zh/quick_start/iceberg.md new file mode 100644 index 00000000..7be24126 --- /dev/null +++ b/docs/zh/quick_start/iceberg.md @@ -0,0 +1,245 @@ +--- +displayed_sidebar: docs +sidebar_position: 3 +description: 基于 Apache Iceberg 构建数据湖 +toc_max_heading_level: 2 +keywords: [ 'iceberg' ] +--- + +import DataLakeIntro from '../_assets/commonMarkdown/datalakeIntro.mdx' +import Clients from '../_assets/quick-start/_clientsCompose.mdx' + +# Apache Iceberg 数据湖 + +本指南将介绍如何使用 StarRocks™ 快速部署和运行 Apache Iceberg™,并提供示例代码以展示其强大功能。 + +### Docker-Compose + +快速入门的最佳方式是使用一个 Docker-Compose 文件,该文件利用 `starrocks/fe-ubuntu` 和 `starrocks/be-ubuntu` 镜像部署一个包含预配置 Iceberg catalog 的本地 StarRocks 集群。要使用此文件,您需要安装 Docker CLI。 + +安装 Docker 后,将以下 YAML 代码保存为 `docker-compose.yml` 文件: + +```yml +services: + + starrocks-fe: + image: starrocks/fe-ubuntu:4.0-latest + hostname: starrocks-fe + container_name: starrocks-fe + user: root + command: | + bash /opt/starrocks/fe/bin/start_fe.sh --host_type FQDN + ports: + - 8030:8030 + - 9020:9020 + - 9030:9030 + networks: + iceberg_net: + environment: + - AWS_ACCESS_KEY_ID=admin + - AWS_SECRET_ACCESS_KEY=password + - AWS_REGION=us-east-1 + healthcheck: + test: 'mysql -u root -h starrocks-fe -P 9030 -e "SHOW FRONTENDS\G" |grep "Alive: true"' + interval: 10s + timeout: 5s + retries: 3 + + starrocks-be: + image: starrocks/be-ubuntu:4.0-latest + command: + - /bin/bash + - -c + - | + ulimit -n 65535; + echo "# Enable data cache" >> /opt/starrocks/be/conf/be.conf + echo "block_cache_enable = true" >> /opt/starrocks/be/conf/be.conf + echo "block_cache_mem_size = 536870912" >> /opt/starrocks/be/conf/be.conf + echo "block_cache_disk_size = 1073741824" >> /opt/starrocks/be/conf/be.conf + sleep 15s + mysql --connect-timeout 2 -h starrocks-fe -P 9030 -u root -e "ALTER SYSTEM ADD BACKEND \"starrocks-be:9050\";" + bash /opt/starrocks/be/bin/start_be.sh + ports: + - 8040:8040 + hostname: starrocks-be + container_name: starrocks-be + user: root + depends_on: + starrocks-fe: + condition: service_healthy + healthcheck: + test: 'mysql -u root -h starrocks-fe -P 9030 -e "SHOW BACKENDS\G" |grep "Alive: true"' + interval: 10s + timeout: 5s + retries: 3 + networks: + iceberg_net: + environment: + - HOST_TYPE=FQDN + + rest: + image: apache/iceberg-rest-fixture + container_name: iceberg-rest + networks: + iceberg_net: + aliases: + - iceberg-rest.minio + ports: + - 8181:8181 + environment: + - AWS_ACCESS_KEY_ID=admin + - AWS_SECRET_ACCESS_KEY=password + - AWS_REGION=us-east-1 + - CATALOG_WAREHOUSE=s3://warehouse/ + - CATALOG_IO__IMPL=org.apache.iceberg.aws.s3.S3FileIO + - CATALOG_S3_ENDPOINT=http://minio:9000 + + minio: + image: minio/minio:RELEASE.2024-10-29T16-01-48Z + container_name: minio + environment: + - MINIO_ROOT_USER=admin + - MINIO_ROOT_PASSWORD=password + - MINIO_DOMAIN=minio + networks: + iceberg_net: + aliases: + - warehouse.minio + ports: + - 9001:9001 + - 9000:9000 + command: ["server", "/data", "--console-address", ":9001"] + mc: + depends_on: + - minio + image: minio/mc:RELEASE.2024-10-29T15-34-59Z + container_name: mc + networks: + iceberg_net: + environment: + - AWS_ACCESS_KEY_ID=admin + - AWS_SECRET_ACCESS_KEY=password + - AWS_REGION=us-east-1 + entrypoint: > + /bin/sh -c " + until (/usr/bin/mc config host add minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done; + /usr/bin/mc rm -r --force minio/warehouse; + /usr/bin/mc mb minio/warehouse; + /usr/bin/mc policy set public minio/warehouse; + tail -f /dev/null + " +networks: + iceberg_net: +``` + +接下来,使用以下命令启动 Docker 容器: + +```Plain +docker compose up --detach --wait --wait-timeout 400 +``` + +然后,您可以运行以下任何命令来启动 StarRocks 会话。 + +```bash +docker exec -it starrocks-fe \ +mysql -P 9030 -h 127.0.0.1 -u root --prompt="StarRocks > " +``` + +### 添加和使用 Catalog + +```SQL +CREATE EXTERNAL CATALOG 'demo' +COMMENT "External catalog to Apache Iceberg on MinIO" +PROPERTIES +( + "type"="iceberg", + "iceberg.catalog.type"="rest", + "iceberg.catalog.uri"="http://iceberg-rest:8181", + "iceberg.catalog.warehouse"="warehouse", + "aws.s3.access_key"="admin", + "aws.s3.secret_key"="password", + "aws.s3.endpoint"="http://minio:9000", + "aws.s3.enable_path_style_access"="true" +); +``` + +```SQL +SHOW CATALOGS\G +``` + +```SQL +*************************** 1. row *************************** +Catalog: default_catalog + Type: Internal +Comment: 一个内部 catalog,包含此集群的自管理表。 +*************************** 2. row *************************** +Catalog: demo + Type: Iceberg +Comment: 连接到 MinIO 上的 Apache Iceberg 的外部 catalog。 +2 rows in set (0.00 sec) +``` + +```SQL +SET CATALOG demo; +``` + +### 创建和使用数据库 + +```SQL +CREATE DATABASE nyc; +``` + +```SQL +USE nyc; +``` + +### 创建表 + +```SQL +CREATE TABLE demo.nyc.taxis +( + trip_id bigint, + trip_distance float, + fare_amount double, + store_and_fwd_flag string, + vendor_id bigint +) PARTITION BY (vendor_id); +``` + +### 向表中写入数据 + +```SQL +INSERT INTO demo.nyc.taxis +VALUES (1000371, 1.8, 15.32, 'N', 1), + (1000372, 2.5, 22.15, 'N', 2), + (1000373, 0.9, 9.01, 'N', 2), + (1000374, 8.4, 42.13, 'Y', 1); +``` + +### 从表中读取数据 + +```SQL +SELECT * +FROM demo.nyc.taxis; +``` + +### 验证数据是否存储在对象存储中 + +当您添加和使用 external catalog 后,StarRocks 开始使用 MinIO 作为 `demo.nyc.taxis` 表的对象存储。如果您访问 http://localhost:9001,然后通过 Object Browser 菜单导航到 `warehouse/nyc/taxis/`,即可确认 StarRocks 正在使用 MinIO 进行存储。 + +:::tip + +MinIO 的用户名和密码位于 `docker-compose.yml` 文件中。您会被提示将密码更改为更安全的密码,但在本教程中请忽略此建议。 + +![img](../_assets/quick-start/MinIO-Iceberg-data.png) +::: + +### 后续步骤 + +#### 将 Iceberg 添加到 StarRocks + +如果您已经拥有 StarRocks 3.2.0 或更高版本的环境,它已内置 Iceberg 1.6.0。无需额外下载或添加 JAR 包。 + +#### 了解更多 + +现在您已经成功部署并运行了 Iceberg 和 StarRocks,请查阅 [StarRocks-Iceberg 文档](../data_source/catalog/iceberg/iceberg_catalog.md) 以了解更多信息! From c08f56f649606675cef79fcb4c3ec0fa6cf4b374 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Feb 2026 23:36:18 +0000 Subject: [PATCH 3/4] chore: add automated translations Generated by markdown-translator Triggered by: @DanRoscigno --- docs/ja/quick_start/iceberg.md | 247 +++++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 docs/ja/quick_start/iceberg.md diff --git a/docs/ja/quick_start/iceberg.md b/docs/ja/quick_start/iceberg.md new file mode 100644 index 00000000..bc93010b --- /dev/null +++ b/docs/ja/quick_start/iceberg.md @@ -0,0 +1,247 @@ +--- +displayed_sidebar: docs +sidebar_position: 3 +description: Apache Iceberg を用いたデータレイクハウス +toc_max_heading_level: 2 +keywords: [ 'iceberg' ] +--- + +import DataLakeIntro from '../_assets/commonMarkdown/datalakeIntro.mdx' +import Clients from '../_assets/quick-start/_clientsCompose.mdx' + +# Apache Iceberg レイクハウス + +ice ice baby + +このガイドでは、Apache Iceberg™を StarRocks™ で使い始めるための手順を説明します。強力な機能を強調するためのサンプルコードも含まれています。 + +### Docker-Compose + +最も早く開始する方法は、`starrocks/fe-ubuntu` と `starrocks/be-ubuntu` イメージを使用する Docker-Compose ファイルを利用することです。これらのイメージには、Iceberg catalog が構成されたローカルの StarRocks クラスタが含まれています。これを使用するには、Docker CLI をインストールする必要があります。 + +Docker のインストールが完了したら、以下の YAML を `docker-compose.yml` というファイル名で保存します。 + +```yml +services: + + starrocks-fe: + image: starrocks/fe-ubuntu:4.0-latest + hostname: starrocks-fe + container_name: starrocks-fe + user: root + command: | + bash /opt/starrocks/fe/bin/start_fe.sh --host_type FQDN + ports: + - 8030:8030 + - 9020:9020 + - 9030:9030 + networks: + iceberg_net: + environment: + - AWS_ACCESS_KEY_ID=admin + - AWS_SECRET_ACCESS_KEY=password + - AWS_REGION=us-east-1 + healthcheck: + test: 'mysql -u root -h starrocks-fe -P 9030 -e "SHOW FRONTENDS\G" |grep "Alive: true"' + interval: 10s + timeout: 5s + retries: 3 + + starrocks-be: + image: starrocks/be-ubuntu:4.0-latest + command: + - /bin/bash + - -c + - | + ulimit -n 65535; + echo "# Enable data cache" >> /opt/starrocks/be/conf/be.conf + echo "block_cache_enable = true" >> /opt/starrocks/be/conf/be.conf + echo "block_cache_mem_size = 536870912" >> /opt/starrocks/be/conf/be.conf + echo "block_cache_disk_size = 1073741824" >> /opt/starrocks/be/conf/be.conf + sleep 15s + mysql --connect-timeout 2 -h starrocks-fe -P 9030 -u root -e "ALTER SYSTEM ADD BACKEND \"starrocks-be:9050\";" + bash /opt/starrocks/be/bin/start_be.sh + ports: + - 8040:8040 + hostname: starrocks-be + container_name: starrocks-be + user: root + depends_on: + starrocks-fe: + condition: service_healthy + healthcheck: + test: 'mysql -u root -h starrocks-fe -P 9030 -e "SHOW BACKENDS\G" |grep "Alive: true"' + interval: 10s + timeout: 5s + retries: 3 + networks: + iceberg_net: + environment: + - HOST_TYPE=FQDN + + rest: + image: apache/iceberg-rest-fixture + container_name: iceberg-rest + networks: + iceberg_net: + aliases: + - iceberg-rest.minio + ports: + - 8181:8181 + environment: + - AWS_ACCESS_KEY_ID=admin + - AWS_SECRET_ACCESS_KEY=password + - AWS_REGION=us-east-1 + - CATALOG_WAREHOUSE=s3://warehouse/ + - CATALOG_IO__IMPL=org.apache.iceberg.aws.s3.S3FileIO + - CATALOG_S3_ENDPOINT=http://minio:9000 + + minio: + image: minio/minio:RELEASE.2024-10-29T16-01-48Z + container_name: minio + environment: + - MINIO_ROOT_USER=admin + - MINIO_ROOT_PASSWORD=password + - MINIO_DOMAIN=minio + networks: + iceberg_net: + aliases: + - warehouse.minio + ports: + - 9001:9001 + - 9000:9000 + command: ["server", "/data", "--console-address", ":9001"] + mc: + depends_on: + - minio + image: minio/mc:RELEASE.2024-10-29T15-34-59Z + container_name: mc + networks: + iceberg_net: + environment: + - AWS_ACCESS_KEY_ID=admin + - AWS_SECRET_ACCESS_KEY=password + - AWS_REGION=us-east-1 + entrypoint: > + /bin/sh -c " + until (/usr/bin/mc config host add minio http://minio:9000 admin password) do echo '...waiting...' && sleep 1; done; + /usr/bin/mc rm -r --force minio/warehouse; + /usr/bin/mc mb minio/warehouse; + /usr/bin/mc policy set public minio/warehouse; + tail -f /dev/null + " +networks: + iceberg_net: +``` + +次に、このコマンドで Docker コンテナを起動します。 + +```Plain +docker compose up --detach --wait --wait-timeout 400 +``` + +その後、以下のいずれかのコマンドを実行して StarRocks セッションを開始できます。 + +```bash +docker exec -it starrocks-fe \ +mysql -P 9030 -h 127.0.0.1 -u root --prompt="StarRocks > " +``` + +### catalog の追加と使用 + +```SQL +CREATE EXTERNAL CATALOG 'demo' +COMMENT "External catalog to Apache Iceberg on MinIO" +PROPERTIES +( + "type"="iceberg", + "iceberg.catalog.type"="rest", + "iceberg.catalog.uri"="http://iceberg-rest:8181", + "iceberg.catalog.warehouse"="warehouse", + "aws.s3.access_key"="admin", + "aws.s3.secret_key"="password", + "aws.s3.endpoint"="http://minio:9000", + "aws.s3.enable_path_style_access"="true" +); +``` + +```SQL +SHOW CATALOGS\G +``` + +```SQL +*************************** 1. row *************************** +Catalog: default_catalog + Type: Internal +Comment: An internal catalog contains this cluster's self-managed tables. +*************************** 2. row *************************** +Catalog: demo + Type: Iceberg +Comment: External catalog to Apache Iceberg on MinIO +2 rows in set (0.00 sec) +``` + +```SQL +SET CATALOG demo; +``` + +### データベースの作成と使用 + +```SQL +CREATE DATABASE nyc; +``` + +```SQL +USE nyc; +``` + +### テーブルの作成 + +```SQL +CREATE TABLE demo.nyc.taxis +( + trip_id bigint, + trip_distance float, + fare_amount double, + store_and_fwd_flag string, + vendor_id bigint +) PARTITION BY (vendor_id); +``` + +### テーブルへのデータ書き込み + +```SQL +INSERT INTO demo.nyc.taxis +VALUES (1000371, 1.8, 15.32, 'N', 1), + (1000372, 2.5, 22.15, 'N', 2), + (1000373, 0.9, 9.01, 'N', 2), + (1000374, 8.4, 42.13, 'Y', 1); +``` + +### テーブルからのデータ読み取り + +```SQL +SELECT * +FROM demo.nyc.taxis; +``` + +### データがオブジェクトストレージに保存されていることの確認 + +external catalog を追加して使用すると、StarRocks は `demo.nyc.taxis` テーブルのオブジェクトストアとして MinIO の使用を開始しました。http://localhost:9001 にアクセスし、Object Browser メニューから `warehouse/nyc/taxis/` に移動すると、StarRocks がストレージに MinIO を使用していることを確認できます。 + +:::tip + +MinIO のユーザー名とパスワードは `docker-compose.yml` ファイルに含まれています。パスワードをより強力なものに変更するよう促されますが、このチュートリアルではこのアドバイスを無視してください。 + +![img](../_assets/quick-start/MinIO-Iceberg-data.png) +::: + +### 次のステップ + +#### StarRocks への Iceberg の追加 + +StarRocks 3.2.0 以降の環境をすでにお持ちの場合、Iceberg 1.6.0 が含まれています。追加のダウンロードや jar ファイルは不要です。 + +#### 詳細 + +Iceberg と StarRocks の使用を開始しましたので、詳細については [StarRocks-Iceberg ドキュメント](../data_source/catalog/iceberg/iceberg_catalog.md) を参照してください。 From 8bbb454107279d8fd0a99e85d07dd867cdb0803d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 12 Feb 2026 23:43:50 +0000 Subject: [PATCH 4/4] chore: add automated translations Generated by markdown-translator Triggered by: @DanRoscigno --- docs/ja/quick_start/iceberg.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/ja/quick_start/iceberg.md b/docs/ja/quick_start/iceberg.md index bc93010b..bc38e0d7 100644 --- a/docs/ja/quick_start/iceberg.md +++ b/docs/ja/quick_start/iceberg.md @@ -1,25 +1,24 @@ ---- +```md displayed_sidebar: docs sidebar_position: 3 -description: Apache Iceberg を用いたデータレイクハウス +description: Apache Iceberg を使用したデータレイクハウス toc_max_heading_level: 2 keywords: [ 'iceberg' ] ---- import DataLakeIntro from '../_assets/commonMarkdown/datalakeIntro.mdx' import Clients from '../_assets/quick-start/_clientsCompose.mdx' -# Apache Iceberg レイクハウス +# Apache Iceberg Lakehouse ice ice baby -このガイドでは、Apache Iceberg™を StarRocks™ で使い始めるための手順を説明します。強力な機能を強調するためのサンプルコードも含まれています。 +このガイドでは、StarRocks™ を使用して Apache Iceberg™ をセットアップし、強力な機能を紹介するサンプルコードを含め、すぐに利用できるようにします。 ### Docker-Compose -最も早く開始する方法は、`starrocks/fe-ubuntu` と `starrocks/be-ubuntu` イメージを使用する Docker-Compose ファイルを利用することです。これらのイメージには、Iceberg catalog が構成されたローカルの StarRocks クラスタが含まれています。これを使用するには、Docker CLI をインストールする必要があります。 +最も早く開始する方法は、`starrocks/fe-ubuntu` と `starrocks/be-ubuntu` イメージを使用する docker-compose ファイルを利用することです。これらのイメージには、Iceberg catalog が構成されたローカルの StarRocks クラスターが含まれています。これを使用するには、Docker CLI をインストールする必要があります。 -Docker のインストールが完了したら、以下の YAML を `docker-compose.yml` というファイル名で保存します。 +Docker をインストールしたら、以下の yaml を `docker-compose.yml` という名前のファイルに保存します。 ```yml services: @@ -225,13 +224,13 @@ SELECT * FROM demo.nyc.taxis; ``` -### データがオブジェクトストレージに保存されていることの確認 +### データがオブジェクトストレージに保存されていることを確認する -external catalog を追加して使用すると、StarRocks は `demo.nyc.taxis` テーブルのオブジェクトストアとして MinIO の使用を開始しました。http://localhost:9001 にアクセスし、Object Browser メニューから `warehouse/nyc/taxis/` に移動すると、StarRocks がストレージに MinIO を使用していることを確認できます。 +external catalog を追加して使用すると、StarRocks は `demo.nyc.taxis` テーブルのオブジェクトストアとして MinIO の使用を開始します。`http://localhost:9001` に移動し、Object Browser メニューから `warehouse/nyc/taxis/` に移動すると、StarRocks がストレージに MinIO を使用していることを確認できます。 :::tip -MinIO のユーザー名とパスワードは `docker-compose.yml` ファイルに含まれています。パスワードをより強力なものに変更するよう促されますが、このチュートリアルではこのアドバイスを無視してください。 +MinIO のユーザー名とパスワードは `docker-compose.yml` ファイルに記載されています。より良いパスワードに変更するよう求められますが、このチュートリアルではこのアドバイスを無視してください。 ![img](../_assets/quick-start/MinIO-Iceberg-data.png) ::: @@ -240,8 +239,9 @@ MinIO のユーザー名とパスワードは `docker-compose.yml` ファイル #### StarRocks への Iceberg の追加 -StarRocks 3.2.0 以降の環境をすでにお持ちの場合、Iceberg 1.6.0 が含まれています。追加のダウンロードや jar ファイルは不要です。 +StarRocks 3.2.0 以降の環境が既にある場合は、Iceberg 1.6.0 が含まれています。追加のダウンロードや jar ファイルは必要ありません。 #### 詳細 -Iceberg と StarRocks の使用を開始しましたので、詳細については [StarRocks-Iceberg ドキュメント](../data_source/catalog/iceberg/iceberg_catalog.md) を参照してください。 +Iceberg と StarRocks を使用する準備が整いました。詳細については、 [StarRocks-Iceberg ドキュメント](../data_source/catalog/iceberg/iceberg_catalog.md) を参照してください。 +```