mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-19 12:52:37 +00:00
2.2 KiB
2.2 KiB
sidebar_label | sidebar_position | slug | description | keywords | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Amazon Glue | 1 | /ja/integrations/glue | ClickHouseとAmazon Glueの統合 |
|
ClickHouseとAmazon Glueの統合
Amazon Glueは、Amazon Web Services (AWS)が提供する完全に管理されたサーバーレスのデータ統合サービスです。これは、分析、機械学習、アプリケーション開発のためのデータの発見、準備、および変換のプロセスを簡素化します。
現在のところ、Glue用のClickHouseコネクタは利用できませんが、公式のJDBCコネクタを利用してClickHouseと接続および統合を行うことができます:
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 org.apache.spark.sql.SparkSession
import org.apache.spark.sql.DataFrame
import scala.collection.JavaConverters._
import com.amazonaws.services.glue.log.GlueLogger
// Glueジョブの初期化
object GlueJob {
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接続の詳細
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")
// ClickHouseからテーブルをロード
val df: DataFrame = spark.read.jdbc(jdbcUrl, "my_table", jdbcProperties)
// Spark dfを表示、もしくは他の用途に使用
df.show()
// ジョブをコミット
Job.commit()
}
}
詳細については、Spark & JDBC ドキュメントをご覧ください。