Spark集成ClickHouse(笔记)

目录

前言:

一.配置环境

1.安装clickhouse驱动

2.配置clickhouse环境

[二.spark 集成clickhouse](#二.spark 集成clickhouse)

直接上代码,里面有一些注释哦!


前言:

在大数据处理和分析领域,Spark 是一个非常强大且广泛使用的开源分布式计算框架。而 ClickHouse 则是一个高性能、可扩展的列式数据库,特别适合用于实时分析和查询大规模数据。将 Spark 与 ClickHouse 集成可以充分发挥它们各自的优势,使得数据处理和分析更加高效和灵活。


一.配置环境

1.安装clickhouse驱动

在idea中的maven中安装依赖包

XML 复制代码
<dependency>
        <groupId>ru.yandex.clickhouse</groupId>
        <artifactId>clickhouse-jdbc</artifactId>
        <version>0.3.1</version>
    </dependency>

2.配置clickhouse环境

(未安装clickhouse可参考文章:安装配置clickhouse

修改clickhouse配置文件,使其可以远程连接

进入目录:cd /etc/clickhouse-server/

编辑 config.xml,将listen_host注释打开,一般是注释状态!

二.spark 集成clickhouse

直接上代码,里面有一些注释哦!

java 复制代码
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions.{avg, broadcast, col, month, to_timestamp, when, year}

object DomeThree {
  def main(args: Array[String]): Unit = {
//new spark
val conf = new SparkConf().setMaster("local[*]").setAppName("three")
  .set("spark_testing_memory", "2222222222").set("dfs.client.use.datanode.hostname", "root") //设置spark运行容量 和 dfs的用户
System.setProperty("HADOOP_USER_NAME","root")
    // 创建SparkSession(根据自己需求配置)
    val sc = new SparkSession.Builder() 
      .config("hive.metastore.uris", "thrift://192.168.23.xx:9083")
      .config("hive.metastore.warehouse", "hdfs://192.168.23.xx://9000/user/hive/warehouse")
      .config("spark.sql.storeAssignmentPolicy", "LEGACY")
      .config(conf)
      .enableHiveSupport()
      .getOrCreate()
//    以jdbc为连接方式进行连接
    val frame = sc.read.format("jdbc")
      .option("driver","ru.yandex.clickhouse.ClickHouseDriver" )//      配置driver
      .option("url", "jdbc:clickhouse://192.168.23.xx:8123")   //       配置url
      .option("user", "default")                              
      .option("password", "123456")
      .option("dbtable", "shtd_result.cityavgcmpprovince")
      .load()

      frame.show()                    //查看表格
}
}

控制台打印(因为建的是空表模拟数据的)

相关推荐
开始学AI44 分钟前
【Datawhale AI夏令营】多模态RAG财报问答挑战赛:学习笔记与上分思考
笔记·学习
防搞活机1 小时前
强化学习笔记:从Q学习到GRPO
笔记·深度学习·机器学习·强化学习
Dontla1 小时前
【n8n教程笔记——工作流Workflow】文本课程(第二阶段)——5 自动化业务工作流——0 用例 (Use case)
运维·笔记·自动化
dxnb222 小时前
Datawhale+AI夏令营_让AI读懂财报PDF task2深入赛题笔记
人工智能·笔记·pdf
ruleslol4 小时前
Spark02 - SparkContext介绍
spark
计算机源码社4 小时前
分享一个基于Spark的眼科疾病临床数据可视化分析与应用研究Hadoop基于Vue和Echarts的眼科疾病统计数据交互式可视化系统的设计与实现
hadoop·信息可视化·spark·毕业设计选题·毕业设计项目·毕业设计源码·大数据源码
饭碗、碗碗香15 小时前
【Dify学习笔记】:Dify搭建表单信息提交系统
人工智能·笔记·学习·ai
哈基米喜欢哈哈哈15 小时前
Uber的MySQL实践(一)——学习笔记
数据库·笔记·后端·mysql
野蛮人6号18 小时前
MySQL笔记
数据库·笔记·mysql
snowfoootball18 小时前
2025 蓝桥杯C/C++国B 部分题解
c语言·c++·笔记·学习·贪心算法·蓝桥杯