Spark集成ClickHouse(笔记)

目录

前言:

 一.配置环境

1.安装clickhouse驱动

2.配置clickhouse环境

二.spark 集成clickhouse

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

 


前言:

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


 一.配置环境

1.安装clickhouse驱动

在idea中的maven中安装依赖包

<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

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

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()                    //查看表格
}
}

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/142483.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app:实现页面效果1

效果 代码 <template><view><view class"add"><image :src"add_icon" mode""></image></view><view class"container_position"><view class"container_info"><view c…

【SQL server】数据库入门基本操作教学

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️初识JAVA】 前言 数据库是计算机系统中用于存储和管理数据的一种软件系统。它通常由一个或多个数据集合、管理系统和应用程序组成&#xff0c;被广泛应用于企业、政府和个人等各种领域。目前常用的数…

服务器搭建(TCP套接字)-epoll版(服务端)

epoll 是一种在 Linux 系统上用于高效事件驱动编程的 I/O 多路复用机制。它相比于传统的 select 和 poll 函数具有更好的性能和扩展性。 epoll 的主要特点和原理&#xff1a; 1、事件驱动&#xff1a;epoll 是基于事件驱动的模型&#xff0c;它通过监听事件来触发相应的回调函…

爬楼梯Java(斐波那契数列)

题目:有n阶楼梯,一次只能爬一层或者两层,请问有多少种方法? 这类题目其实都可以用斐波那契数列来解决,比如: 一阶楼梯只有一种方法 二阶楼梯有(11,2)两种方法 三阶楼梯有(111,12,21)三种方法 四阶楼梯有(1111,121,112,22,211)五种方式 五阶楼梯有(11111,1112,122,1211,1…

Servlet执行流程生命周期方法介绍体系结构、Request和Response的功能详解

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 Servlet 一、 Servlet执行流程二、Servlet生…

【ONE·Linux || 进程间通信】

总言 进程间通信&#xff1a;简述进程间通信&#xff0c;介绍一些通信方式&#xff0c;管道通信&#xff08;匿名、名命&#xff09;、共享内存等。 文章目录 总言1、进程间通信简述2、管道2.1、简介2.2、匿名管道2.2.1、匿名管道的原理2.2.2、编码理解&#xff1a;用fork来共…

Linux 系统移植(二)--系统调试

文章目录 一、 编译文件系统1.1 下载资源安装包1.2 配置模板ARM64目标平台1.3 配置交叉编译器1.4 配置登录用户名和密码1.5 配置Linux 控制台1.6 配置文件系统格式1.7 编译buildroot文件系统 二、编译ARM64 Linux三、启动 Qemu Linux系统参考链接&#xff1a; 一、 编译文件系统…

9.基于粤嵌gec6818开发板小游戏2048的算法实现

2048源码&#xff1a; 感兴趣的可以去了解一下2048优化算法&#xff1a; 基于蒙特卡罗树搜索的_2048_游戏优化算法_刘子正 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/mman.h> #incl…

机器学习笔记:adaBoost

1 介绍 AdaBoost&#xff08;Adaptive Boosting&#xff09;是一种集成学习方法&#xff0c;它的目标是将多个弱分类器组合成一个强分类器 通过反复修改训练数据的权重&#xff0c;使得之前分类错误的样本在后续的分类器中得到更多的关注每一轮中&#xff0c;都会增加一个新的…

大模型时代,如何找准AI发展新方向?TVP读书会与你共探

引言 随着 ChatGPT 掀起人工智能的发展狂潮&#xff0c;大模型时代悄然来临。大模型的出现让人们看到了人工智能在某些方面几乎接近人类智能的“威力”&#xff0c;也由此使人们产生了关于 AGI 的期盼与隐忧。其中&#xff0c;关于大模型是否是人工智能发展的拐点、科技从业者又…

数据结构--堆排序

目录 堆的定义 建立初始化堆的步骤 建立大根堆的代码 大根堆排序的代码 算法效率分析 稳定性 堆的定义 回忆 基于选择排序的特性&#xff1a;选取关键字最小&#xff08;或者最大&#xff09;的元素放入到序列里面&#xff0c;知道了大堆和小堆概念&#xff0c;所以将…

尚硅谷大数据项目《在线教育之实时数仓》笔记002

视频地址&#xff1a;尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第06章 数据仓库环境准备 P006 P007 P008 P009 P010 P011 P012 P013 P014 第06章 数据仓库环境准备 P006 P007 P008 http://node001:16010/master-status [atguigunode001 ~]$ …

Qt --- Day03

<?xml version"1.0" encoding"UTF-8"?> <ui version"4.0"><class>Widget</class><widget class"QWidget" name"Widget"><property name"geometry"><rect><x>0…

Java 调用 GitLabAPI 获取仓库里的文件件 提交记录

1. 需求 项目组 需要做统计&#xff0c;获取每个开发人员的代码提交次数&#xff0c;提交时间&#xff0c;提交人等等&#xff0c;因代码在GitLab上管理&#xff0c;所以需要调用GitLabAPI来获取。 2. 开发 API官网&#xff1a;https://docs.gitlab.com/ee/api/ 2.1 创建自…

3D科研绘图与学术图表绘制:从入门到精通

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 3D科研绘图和学术图表绘…

interview6-jvm篇

JVM(Java Virtual Machine)Java程序的运行环境&#xff08;java二进制字节码的运行环境&#xff09; 在JVM中共有四大部分&#xff0c;分别是ClassLoader&#xff08;类加载器&#xff09;、Runtime DataArea&#xff08;运行时数据区&#xff0c;内存分区&#xff09;、Execu…

分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测(SE注意力机制)

分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测&#xff08;SE注意力机制&#xff09; 目录 分类预测 | MATLAB实现WOA-CNN-BiGRU-Attention数据分类预测&#xff08;SE注意力机制&#xff09;分类效果基本描述模型描述程序设计参考资料 分类效果 基本描述 1.MATLA…

【Synapse数据集】Synapse数据集介绍和预处理,数据集下载网盘链接

【Segment Anything Model】做分割的专栏链接&#xff0c;欢迎来学习。 【博主微信】cvxiaoyixiao 本专栏为公开数据集的介绍和预处理&#xff0c;持续更新中。 文章目录 1️⃣Synapse数据集介绍文件结构源文件样图文件内容 2️⃣Synapse数据集百度网盘下载链接官网下载登录下…

TCPIP状态转换

一个TCP连接在其生命周期中经过了一系列的状态跃迁。一个TCP连接的状态包括&#xff1a; LISTEN &#xff1a;表示正在等待来自任何远程TCP和端口的连接请求&#xff0c;调用listen后套接字出于监听状态SYN_SENT : 表示在发送了连接请求后&#xff0c;正在等待匹配的连接请求…

【Linux is not Unix】Linux前言

目录 二战军工的产物——第一台现代电子数字计算机ENIAC&#xff08;埃尼阿克&#xff09; Unix Linux Linux企业应用现状 如今计算机已经应用在我们生活的各个层面&#xff0c;像我们日常使用的笔记本是计算机的一类&#xff0c;可以解决我们生活中遇到的很多问题&#xff…