From e20ea3b7e3e7e9a21ecdef0750a787553283d97c Mon Sep 17 00:00:00 2001 From: bentsileviav Date: Mon, 21 Jul 2025 12:07:19 +0300 Subject: [PATCH 01/13] Add Glue screenshots --- .../aws-glue/dependent_jars_path_option.png | Bin 0 -> 68189 bytes .../aws-glue/notebook-connections-config.png | Bin 0 -> 75920 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/images/integrations/data-ingestion/aws-glue/dependent_jars_path_option.png create mode 100644 static/images/integrations/data-ingestion/aws-glue/notebook-connections-config.png diff --git a/static/images/integrations/data-ingestion/aws-glue/dependent_jars_path_option.png b/static/images/integrations/data-ingestion/aws-glue/dependent_jars_path_option.png new file mode 100644 index 0000000000000000000000000000000000000000..65935cf70caddabf4392ced7aad6097f427ceba0 GIT binary patch literal 68189 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 Cz~goR literal 0 HcmV?d00001 From 312120271b71d02bfa3a281a86c8f82ac160bac7 Mon Sep 17 00:00:00 2001 From: bentsileviav Date: Mon, 21 Jul 2025 12:07:41 +0300 Subject: [PATCH 02/13] Add ClickHouse Spark installation guide --- .../data-ingestion/aws-glue/index.md | 49 +++++++++++++++++-- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index b36ed49d481..681dd04cf28 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -3,20 +3,59 @@ sidebar_label: 'Amazon Glue' sidebar_position: 1 slug: /integrations/glue description: 'Integrate ClickHouse and Amazon Glue' -keywords: ['clickhouse', 'amazon', 'aws', 'glue', 'migrating', 'data'] -title: 'Integrating Amazon Glue with ClickHouse' +keywords: ['clickhouse', 'amazon', 'aws', 'glue', 'migrating', 'data', 'spark'] +title: 'Integrating Amazon Glue with ClickHouse and Spark' --- - +import Image from '@theme/IdealImage'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +import notebook_connections_config from '@site/static/images/integrations/data-ingestion/aws-glue/notebook-connections-config.png'; +import dependent_jars_path_option from '@site/static/images/integrations/data-ingestion/aws-glue/dependent_jars_path_option.png'; -# Integrating Amazon Glue with ClickHouse +# Integrating Amazon Glue with ClickHouse and Spark [Amazon Glue](https://aws.amazon.com/glue/) is a fully managed, serverless data integration service provided by Amazon Web Services (AWS). It simplifies the process of discovering, preparing, and transforming data for analytics, machine learning, and application development. +# Installation + +To integrate your Glue code with ClickHouse, you can use our official Spark connector in Glue via one of the following: +- Installing the ClickHouse Glue connector from the AWS Marketplace (recommended). +- Manually adding the Spark Connector's jars to your Glue job. + + + + +1. ### Subscribe to the Connector +To access the connector in your account, subscribe to the ClickHouse AWS Glue Connector from AWS Marketplace. + +2. ### Grant Required Permissions +Ensure your Glue job’s IAM role has the necessary permissions, as described in the minimum privileges [guide](https://docs.aws.amazon.com/glue/latest/dg/getting-started-min-privs-job.html#getting-started-min-privs-connectors). + +3. ### Activate the Connector & Create a Connection +You can activate the connector and create a connection directly by clicking [this link](https://console.aws.amazon.com/gluestudio/home#/connector/add-connection?connectorName="ClickHouse%20AWS%20Glue%20Connector"&connectorType="Spark"&connectorUrl=https://709825985650.dkr.ecr.us-east-1.amazonaws.com/clickhouse/clickhouse-glue:0.1&connectorClassName="com.clickhouse.spark.ClickHouseCatalog"), which opens the Glue connector creation page with key fields pre-filled. + +4. ### Set Up a Connection +Create a new Glue connection using the connector, providing your ClickHouse JDBC URL and credentials. + +5. ### Use in Glue Job +In your Glue job, select the `Job details` tab, and expend the `Advanced properties` window. Under the `Connections` section, select the connection you just created. The connector automatically injects the required JARs into the job runtime. + +Glue Notebook connections config + + + +To add the required jars manually, please follow the following: +1. Upload the following jars to an S3 bucket - `clickhouse-jdbc-0.6.X-all.jar` and `clickhouse-spark-runtime-3.X_2.X-0.8.X.jar`. +2. Make sure the Glue job has access to this bucket. +3. Under the `Job details` tab, scroll down and expend the `Advanced properties` drop down, and fill the jars path in `Dependent JARs path`: + +Glue Notebook JAR path options + + + -Although there is no Glue ClickHouse connector available yet, the official JDBC connector can be leveraged to connect and integrate with ClickHouse: +## Example From 2efe698ff5be05b737b9d0dd221353ec40a44fc2 Mon Sep 17 00:00:00 2001 From: bentsileviav Date: Wed, 23 Jul 2025 17:45:40 +0300 Subject: [PATCH 03/13] Add explicit headers --- docs/integrations/data-ingestion/aws-glue/index.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index 681dd04cf28..c00a083bb1d 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -25,19 +25,19 @@ To integrate your Glue code with ClickHouse, you can use our official Spark conn -1. ### Subscribe to the Connector +1. ### Subscribe to the Connector {#subscribe-to-the-connector} To access the connector in your account, subscribe to the ClickHouse AWS Glue Connector from AWS Marketplace. -2. ### Grant Required Permissions +2. ### Grant Required Permissions {#grant-required-permissions} Ensure your Glue job’s IAM role has the necessary permissions, as described in the minimum privileges [guide](https://docs.aws.amazon.com/glue/latest/dg/getting-started-min-privs-job.html#getting-started-min-privs-connectors). -3. ### Activate the Connector & Create a Connection +3. ### Activate the Connector & Create a Connection {#activate-the-connector} You can activate the connector and create a connection directly by clicking [this link](https://console.aws.amazon.com/gluestudio/home#/connector/add-connection?connectorName="ClickHouse%20AWS%20Glue%20Connector"&connectorType="Spark"&connectorUrl=https://709825985650.dkr.ecr.us-east-1.amazonaws.com/clickhouse/clickhouse-glue:0.1&connectorClassName="com.clickhouse.spark.ClickHouseCatalog"), which opens the Glue connector creation page with key fields pre-filled. -4. ### Set Up a Connection +4. ### Set Up a Connection {#set-a-connection} Create a new Glue connection using the connector, providing your ClickHouse JDBC URL and credentials. -5. ### Use in Glue Job +5. ### Use in Glue Job {#use-in-glue-jon} In your Glue job, select the `Job details` tab, and expend the `Advanced properties` window. Under the `Connections` section, select the connection you just created. The connector automatically injects the required JARs into the job runtime. Glue Notebook connections config @@ -55,7 +55,7 @@ To add the required jars manually, please follow the following: -## Example +## Example {#example} From 5fd466ddf0c54e3a19b3c8995ae1e3dfdf110b64 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Wed, 23 Jul 2025 16:55:45 +0200 Subject: [PATCH 04/13] Update index.md --- docs/integrations/data-ingestion/aws-glue/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index c00a083bb1d..573d9c4015f 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -25,19 +25,19 @@ To integrate your Glue code with ClickHouse, you can use our official Spark conn -1. ### Subscribe to the Connector {#subscribe-to-the-connector} +### 1. Subscribe to the Connector {#subscribe-to-the-connector} To access the connector in your account, subscribe to the ClickHouse AWS Glue Connector from AWS Marketplace. -2. ### Grant Required Permissions {#grant-required-permissions} +### 2. Grant Required Permissions {#grant-required-permissions} Ensure your Glue job’s IAM role has the necessary permissions, as described in the minimum privileges [guide](https://docs.aws.amazon.com/glue/latest/dg/getting-started-min-privs-job.html#getting-started-min-privs-connectors). -3. ### Activate the Connector & Create a Connection {#activate-the-connector} +### 3. Activate the Connector & Create a Connection {#activate-the-connector} You can activate the connector and create a connection directly by clicking [this link](https://console.aws.amazon.com/gluestudio/home#/connector/add-connection?connectorName="ClickHouse%20AWS%20Glue%20Connector"&connectorType="Spark"&connectorUrl=https://709825985650.dkr.ecr.us-east-1.amazonaws.com/clickhouse/clickhouse-glue:0.1&connectorClassName="com.clickhouse.spark.ClickHouseCatalog"), which opens the Glue connector creation page with key fields pre-filled. -4. ### Set Up a Connection {#set-a-connection} +### 4. Set Up a Connection {#set-a-connection} Create a new Glue connection using the connector, providing your ClickHouse JDBC URL and credentials. -5. ### Use in Glue Job {#use-in-glue-jon} +### 5. Use in Glue Job {#use-in-glue-jon} In your Glue job, select the `Job details` tab, and expend the `Advanced properties` window. Under the `Connections` section, select the connection you just created. The connector automatically injects the required JARs into the job runtime. Glue Notebook connections config From 7a1fc4849574b10d0a83844101b2db32ca57b0ea Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Wed, 23 Jul 2025 18:00:05 +0200 Subject: [PATCH 05/13] Update index.md --- docs/integrations/data-ingestion/aws-glue/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index 573d9c4015f..59d91215bda 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -6,6 +6,7 @@ description: 'Integrate ClickHouse and Amazon Glue' keywords: ['clickhouse', 'amazon', 'aws', 'glue', 'migrating', 'data', 'spark'] title: 'Integrating Amazon Glue with ClickHouse and Spark' --- + import Image from '@theme/IdealImage'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; From e2dfdb2082f3cb7efd348de5df11b5e6ef5f7642 Mon Sep 17 00:00:00 2001 From: bentsileviav Date: Thu, 24 Jul 2025 16:01:05 +0300 Subject: [PATCH 06/13] update glue docs --- .../data-ingestion/aws-glue/index.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index c00a083bb1d..4806fc1c852 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -25,23 +25,24 @@ To integrate your Glue code with ClickHouse, you can use our official Spark conn -1. ### Subscribe to the Connector {#subscribe-to-the-connector} +1.

Subscribe to the Connector

To access the connector in your account, subscribe to the ClickHouse AWS Glue Connector from AWS Marketplace. -2. ### Grant Required Permissions {#grant-required-permissions} +2.

Grant Required Permissions

Ensure your Glue job’s IAM role has the necessary permissions, as described in the minimum privileges [guide](https://docs.aws.amazon.com/glue/latest/dg/getting-started-min-privs-job.html#getting-started-min-privs-connectors). -3. ### Activate the Connector & Create a Connection {#activate-the-connector} -You can activate the connector and create a connection directly by clicking [this link](https://console.aws.amazon.com/gluestudio/home#/connector/add-connection?connectorName="ClickHouse%20AWS%20Glue%20Connector"&connectorType="Spark"&connectorUrl=https://709825985650.dkr.ecr.us-east-1.amazonaws.com/clickhouse/clickhouse-glue:0.1&connectorClassName="com.clickhouse.spark.ClickHouseCatalog"), which opens the Glue connector creation page with key fields pre-filled. +3.

Activate the Connector & Create a Connection

+You can activate the connector and create a connection directly by clicking [this link](https://console.aws.amazon.com/gluestudio/home#/connector/add-connection?connectorName="ClickHouse%20AWS%20Glue%20Connector"&connectorType="Spark"&connectorUrl=https://709825985650.dkr.ecr.us-east-1.amazonaws.com/clickhouse/clickhouse-glue:0.1&connectorClassName="com.clickhouse.spark.ClickHouseCatalog"), which opens the Glue connection creation page with key fields pre-filled. Give the connection a name, and press create. -4. ### Set Up a Connection {#set-a-connection} -Create a new Glue connection using the connector, providing your ClickHouse JDBC URL and credentials. - -5. ### Use in Glue Job {#use-in-glue-jon} +4.

Use in Glue Job

In your Glue job, select the `Job details` tab, and expend the `Advanced properties` window. Under the `Connections` section, select the connection you just created. The connector automatically injects the required JARs into the job runtime. Glue Notebook connections config +:::note +The JARs used in the Glue connector are built for `Spark 3.2`, `Scala 2`, and `Python 3`. Make sure to select these versions when configuring your Glue job. +::: +
To add the required jars manually, please follow the following: From e4ef3be35e18417ded05024ce8141f003eb52a22 Mon Sep 17 00:00:00 2001 From: bentsileviav Date: Thu, 24 Jul 2025 16:01:17 +0300 Subject: [PATCH 07/13] add JARs to dict --- scripts/aspell-ignore/en/aspell-dict.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/aspell-ignore/en/aspell-dict.txt b/scripts/aspell-ignore/en/aspell-dict.txt index 2c5f064c541..6737d82eb90 100644 --- a/scripts/aspell-ignore/en/aspell-dict.txt +++ b/scripts/aspell-ignore/en/aspell-dict.txt @@ -3558,4 +3558,5 @@ columnstore TiDB resync resynchronization -Sackmann's \ No newline at end of file +Sackmann's +JARs \ No newline at end of file From 01cd9a746a9827f54d438fdbe72796190fff7ec8 Mon Sep 17 00:00:00 2001 From: bentsileviav Date: Thu, 24 Jul 2025 16:44:06 +0300 Subject: [PATCH 08/13] update integrations list to have proper glue description --- docs/integrations/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integrations/index.mdx b/docs/integrations/index.mdx index 43c20e2462a..2828486f82f 100644 --- a/docs/integrations/index.mdx +++ b/docs/integrations/index.mdx @@ -204,7 +204,7 @@ We are actively compiling this list of ClickHouse integrations below, so it's no |Amazon Kinesis| |Data ingestion|Integration with Amazon Kinesis.|[Documentation](/integrations/clickpipes/kinesis/)| |Amazon MSK| |Data ingestion|Integration with Amazon Managed Streaming for Apache Kafka (MSK).|[Documentation](/integrations/kafka/cloud/amazon-msk/)| |Amazon S3||Data ingestion|Import from, export to, and transform S3 data in flight with ClickHouse built-in S3 functions.|[Documentation](/integrations/data-ingestion/s3/index.md)| -|Amazon Glue|Amazon Glue logo|Data ingestion|Query ClickHouse over JDBC|[Documentation](/integrations/glue)| +|Amazon Glue|Amazon Glue logo|Data ingestion|Query ClickHouse over Spark using our official Glue connector|[Documentation](/integrations/glue)| |Apache Spark||Data ingestion|Spark ClickHouse Connector is a high performance connector built on top of Spark DataSource V2.|[GitHub](https://github.com/housepower/spark-clickhouse-connector),
[Documentation](/integrations/data-ingestion/apache-spark/index.md)| |Azure Event Hubs||Data ingestion|A data streaming platform that supports Apache Kafka's native protocol|[Website](https://azure.microsoft.com/en-gb/products/event-hubs)| |Azure Synapse|Azure Synapse logo|Data ingestion|A cloud-based analytics service for big data and data warehousing.|[Documentation](/integrations/azure-synapse)| From c554f017822fb5a7c4c8eebeb733c0839d489372 Mon Sep 17 00:00:00 2001 From: bentsileviav Date: Thu, 24 Jul 2025 16:44:34 +0300 Subject: [PATCH 09/13] update the scala example --- .../data-ingestion/aws-glue/index.md | 83 ++++++++++++------- 1 file changed, 54 insertions(+), 29 deletions(-) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index 4806fc1c852..7b6d195fd08 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -61,42 +61,67 @@ To add the required jars manually, please follow the following: ```java -import com.amazonaws.services.glue.util.Job -import com.amazonaws.services.glue.util.GlueArgParser import com.amazonaws.services.glue.GlueContext -import org.apache.spark.SparkContext +import com.amazonaws.services.glue.util.GlueArgParser +import com.amazonaws.services.glue.util.Job +import com.clickhouseScala.Native.NativeSparkRead.spark import org.apache.spark.sql.SparkSession -import org.apache.spark.sql.DataFrame -import scala.collection.JavaConverters._ -import com.amazonaws.services.glue.log.GlueLogger +import scala.collection.JavaConverters._ +import org.apache.spark.sql.types._ +import org.apache.spark.sql.functions._ -// Initialize Glue job -object GlueJob { +object ClickHouseGlueExample { def main(sysArgs: Array[String]) { - val sc: SparkContext = new SparkContext() - val glueContext: GlueContext = new GlueContext(sc) - val spark: SparkSession = glueContext.getSparkSession - val logger = new GlueLogger - import spark.implicits._ - // @params: [JOB_NAME] val args = GlueArgParser.getResolvedOptions(sysArgs, Seq("JOB_NAME").toArray) - Job.init(args("JOB_NAME"), glueContext, args.asJava) - - // JDBC connection details - val jdbcUrl = "jdbc:ch://{host}:{port}/{schema}" - val jdbcProperties = new java.util.Properties() - jdbcProperties.put("user", "default") - jdbcProperties.put("password", "*******") - jdbcProperties.put("driver", "com.clickhouse.jdbc.ClickHouseDriver") - - // Load the table from ClickHouse - val df: DataFrame = spark.read.jdbc(jdbcUrl, "my_table", jdbcProperties) - // Show the Spark df, or use it for whatever you like - df.show() - - // Commit the job + val sparkSession: SparkSession = SparkSession.builder + .config("spark.sql.catalog.clickhouse", "com.clickhouse.spark.ClickHouseCatalog") + .config("spark.sql.catalog.clickhouse.host", "") + .config("spark.sql.catalog.clickhouse.protocol", "https") + .config("spark.sql.catalog.clickhouse.http_port", "") + .config("spark.sql.catalog.clickhouse.user", "default") + .config("spark.sql.catalog.clickhouse.password", "") + .config("spark.sql.catalog.clickhouse.database", "default") + // for ClickHouse cloud + .config("spark.sql.catalog.clickhouse.option.ssl", "true") + .config("spark.sql.catalog.clickhouse.option.ssl_mode", "NONE") + .getOrCreate + + val glueContext = new GlueContext(sparkSession.sparkContext) + Job.init(args("JOB_NAME"), glueContext, args.asJava) + import sparkSession.implicits._ + + val url = "s3://{path_to_cell_tower_data}/cell_towers.csv.gz" + + val schema = StructType(Seq( + StructField("radio", StringType, nullable = false), + StructField("mcc", IntegerType, nullable = false), + StructField("net", IntegerType, nullable = false), + StructField("area", IntegerType, nullable = false), + StructField("cell", LongType, nullable = false), + StructField("unit", IntegerType, nullable = false), + StructField("lon", DoubleType, nullable = false), + StructField("lat", DoubleType, nullable = false), + StructField("range", IntegerType, nullable = false), + StructField("samples", IntegerType, nullable = false), + StructField("changeable", IntegerType, nullable = false), + StructField("created", TimestampType, nullable = false), + StructField("updated", TimestampType, nullable = false), + StructField("averageSignal", IntegerType, nullable = false) + )) + + val df = sparkSession.read + .option("header", "true") + .schema(schema) + .csv(url) + + // Write to ClickHouse + df.writeTo("clickhouse.default.cell_towers").append() + + + // Read from ClickHouse + val dfRead = spark.sql("select * from clickhouse.default.cell_towers") Job.commit() } } From 62ce73c2551a68838dadedbcff92891510e88733 Mon Sep 17 00:00:00 2001 From: bentsileviav Date: Thu, 24 Jul 2025 16:55:53 +0300 Subject: [PATCH 10/13] update the python code + docs --- .../data-ingestion/aws-glue/index.md | 45 ++++++++++++------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index 7b6d195fd08..4fe527841e3 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -32,7 +32,7 @@ To access the connector in your account, subscribe to the ClickHouse AWS Glue Co Ensure your Glue job’s IAM role has the necessary permissions, as described in the minimum privileges [guide](https://docs.aws.amazon.com/glue/latest/dg/getting-started-min-privs-job.html#getting-started-min-privs-connectors). 3.

Activate the Connector & Create a Connection

-You can activate the connector and create a connection directly by clicking [this link](https://console.aws.amazon.com/gluestudio/home#/connector/add-connection?connectorName="ClickHouse%20AWS%20Glue%20Connector"&connectorType="Spark"&connectorUrl=https://709825985650.dkr.ecr.us-east-1.amazonaws.com/clickhouse/clickhouse-glue:0.1&connectorClassName="com.clickhouse.spark.ClickHouseCatalog"), which opens the Glue connection creation page with key fields pre-filled. Give the connection a name, and press create. +You can activate the connector and create a connection directly by clicking [this link](https://console.aws.amazon.com/gluestudio/home#/connector/add-connection?connectorName="ClickHouse%20AWS%20Glue%20Connector"&connectorType="Spark"&connectorUrl=https://709825985650.dkr.ecr.us-east-1.amazonaws.com/clickhouse/clickhouse-glue:0.1&connectorClassName="com.clickhouse.spark.ClickHouseCatalog"), which opens the Glue connection creation page with key fields pre-filled. Give the connection a name, and press create (no need to provide the ClickHouse connection details at this stage). 4.

Use in Glue Job

In your Glue job, select the `Job details` tab, and expend the `Advanced properties` window. Under the `Connections` section, select the connection you just created. The connector automatically injects the required JARs into the job runtime. @@ -58,7 +58,7 @@ To add the required jars manually, please follow the following: ## Example {#example} - + ```java import com.amazonaws.services.glue.GlueContext @@ -137,6 +137,8 @@ from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job +from pyspark.sql import Row + ## @params: [JOB_NAME] args = getResolvedOptions(sys.argv, ['JOB_NAME']) @@ -147,20 +149,29 @@ logger = glueContext.get_logger() spark = glueContext.spark_session job = Job(glueContext) job.init(args['JOB_NAME'], args) -jdbc_url = "jdbc:ch://{host}:{port}/{schema}" -query = "select * from my_table" -# For cloud usage, please add ssl options -df = (spark.read.format("jdbc") - .option("driver", 'com.clickhouse.jdbc.ClickHouseDriver') - .option("url", jdbc_url) - .option("user", 'default') - .option("password", '*******') - .option("query", query) - .load()) - -logger.info("num of rows:") -logger.info(str(df.count())) -logger.info("Data sample:") + +spark.conf.set("spark.sql.catalog.clickhouse", "com.clickhouse.spark.ClickHouseCatalog") +spark.conf.set("spark.sql.catalog.clickhouse.host", "") +spark.conf.set("spark.sql.catalog.clickhouse.protocol", "https") +spark.conf.set("spark.sql.catalog.clickhouse.http_port", "") +spark.conf.set("spark.sql.catalog.clickhouse.user", "default") +spark.conf.set("spark.sql.catalog.clickhouse.password", "") +spark.conf.set("spark.sql.catalog.clickhouse.database", "default") +spark.conf.set("spark.clickhouse.write.format", "json") +spark.conf.set("spark.clickhouse.read.format", "arrow") +# for ClickHouse cloud +spark.conf.set("spark.sql.catalog.clickhouse.option.ssl", "true") +spark.conf.set("spark.sql.catalog.clickhouse.option.ssl_mode", "NONE") + +# Create DataFrame +data = [Row(id=11, name="John"), Row(id=12, name="Doe")] +df = spark.createDataFrame(data) + +# Write DataFrame to ClickHouse +df.writeTo("clickhouse.default.example_table").append() + +# Read DataFrame from ClickHouse +df_read = spark.sql("select * from clickhouse.default.example_table") logger.info(str(df.take(10))) @@ -170,6 +181,6 @@ job.commit() -For more details, please visit our [Spark & JDBC documentation](/integrations/apache-spark/spark-jdbc#read-data). +For more details, please visit our [Spark documentation](/integrations/apache-spark). From f6da6c189c2b68bba8c65328cae16281639e3010 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Fri, 25 Jul 2025 17:28:40 +0200 Subject: [PATCH 11/13] Update index.md --- docs/integrations/data-ingestion/aws-glue/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index a2fdc5a96d9..cd6c3c10c73 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -6,6 +6,7 @@ description: 'Integrate ClickHouse and Amazon Glue' keywords: ['clickhouse', 'amazon', 'aws', 'glue', 'migrating', 'data', 'spark'] title: 'Integrating Amazon Glue with ClickHouse and Spark' --- + import Image from '@theme/IdealImage'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -17,7 +18,7 @@ import dependent_jars_path_option from '@site/static/images/integrations/data-in [Amazon Glue](https://aws.amazon.com/glue/) is a fully managed, serverless data integration service provided by Amazon Web Services (AWS). It simplifies the process of discovering, preparing, and transforming data for analytics, machine learning, and application development. -# Installation +## Installation {#installation} To integrate your Glue code with ClickHouse, you can use our official Spark connector in Glue via one of the following: - Installing the ClickHouse Glue connector from the AWS Marketplace (recommended). @@ -57,7 +58,7 @@ To add the required jars manually, please follow the following:
-## Example {#example} +## Examples {#example} From 8e08281e726bbbfde27f489ba1f7d2482f5b2fd2 Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Fri, 25 Jul 2025 17:35:10 +0200 Subject: [PATCH 12/13] fix markdown-lint errors --- docs/integrations/data-ingestion/aws-glue/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index cd6c3c10c73..58814558ae3 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -17,7 +17,6 @@ import dependent_jars_path_option from '@site/static/images/integrations/data-in [Amazon Glue](https://aws.amazon.com/glue/) is a fully managed, serverless data integration service provided by Amazon Web Services (AWS). It simplifies the process of discovering, preparing, and transforming data for analytics, machine learning, and application development. - ## Installation {#installation} To integrate your Glue code with ClickHouse, you can use our official Spark connector in Glue via one of the following: @@ -57,7 +56,6 @@ To add the required jars manually, please follow the following: - ## Examples {#example} From 8c0e857e1b5693719c8bf59fc00e912c6ab695eb Mon Sep 17 00:00:00 2001 From: Shaun Struwig <41984034+Blargian@users.noreply.github.com> Date: Fri, 25 Jul 2025 17:38:28 +0200 Subject: [PATCH 13/13] Update index.md --- docs/integrations/data-ingestion/aws-glue/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/integrations/data-ingestion/aws-glue/index.md b/docs/integrations/data-ingestion/aws-glue/index.md index 58814558ae3..25da911ef3c 100644 --- a/docs/integrations/data-ingestion/aws-glue/index.md +++ b/docs/integrations/data-ingestion/aws-glue/index.md @@ -181,4 +181,3 @@ job.commit() For more details, please visit our [Spark documentation](/integrations/apache-spark). -