- 博客(107)
- 资源 (3)
- 问答 (3)
- 收藏
- 关注
原创 【Spark】spark使用jdbc连接带有kerberos认证的hive jdbc
使用spark jdbc API 访问带有kerberos的hive jdbc获取数据
2023-03-12 21:21:01 1812 1
原创 【E-MR】NameNode的错误恢复记录
虽然,阿里云的E-MR的网页端可以很方便的操作这些服务的实例。如果真的遇上问题了,在网页端没有能够解决问题的话。那么我们不妨登陆到这些实例节点上面,用我们所拥有的知识,手动处理这些问题。...
2022-07-25 16:09:17 259
原创 【Spark报错】CDH的spark无法读取字段中含有特殊字符“-“的orc表mismatched input ‘-‘ expecting ‘:‘
背景故事先看报错信息:mismatched input ‘-’ expecting ‘:’报错的意思就是说,在这个表里面,字段名中存在特殊符号“-”,无法解析报错。这个问题会发生在CDH的spark中。如果不是CDH的spark版本的程序,可以跳过此文章。解决方案:不要使用CDH版本的spark就好了。比如我这里出现报错的时候,使用的版本是2.4.0-cdh6.1.1 那么把这个版本修改为2.4.0就好了。过程分析过程早就分析完了,下面写一篇结果:环境版本spark-sql_2.11
2022-05-28 13:55:16 4845
原创 【Linux】Linux的命令行多并发脚本
【Linux】Linux的命令行多并发脚本背景有的时候我们需要在Linux服务器上,将程序放置在后台运行。避免以为客户端的连接中断导致前台的应用失败。所以我们的脚本执行可以在后面添加一个&,这样的话,程序就会在后台执行。如果我们有3个脚本程序的话都可以在执行的脚本最后添加一个&,这样的话,就会有3个脚本同时在后台执行了。那么,如果我们有100个这样的脚本程序呢?分析如果我们有100个脚本程序的话,这个时候需要考虑一下服务器是否能够同时跑100个脚本程序,如果有一个很牛逼的服务器的话,
2022-05-03 21:21:14 3826
原创 【Oozie】CDH集群的oozie手把手快速入门
背景在今天中午,本人快乐的干饭的时候,领导打电话过来询问oozie是个什么样的东西,能不能有个用例?在本人的理解里面,oozie主要是个调度工具。所以本篇为CDH集群的oozie的快速入门教程环境准备CDH集群一套CDH集群中集成了oozie和hue因为oozie整合进hue中界面化了,不像那种命令行提交的方式,要写很多繁杂的xml文件,所以本文就开始揭露,如何快速入门oozie新建一个调度任务本文使用一个pyspark作为调度用例:pyspark的代码如下,文件名为:pyspark_
2022-04-29 23:40:04 2257 1
原创 【Spark案例】本地访问cdh集群不将配置文件放入resource目录方式
【Spark案例】本地访问cdh集群不将配置文件放入resource目录方式背景故事今天我领导,他想用pyspark连接集群中的hive,作数据分析用。于是这变成了一个在本地集群中如何访问远程集群的问题。在python环境中使用pyspark构建sparkSession的过程当中,config参数选项里面配置了一个hive.metastore.uris的时候,sparkSession能够访问hive的数据库,及表信息。但是读取数据的时候会发生报错。问题分析在java中如果是maven构建的jav
2022-04-25 21:09:00 3488
原创 【Java】利用反射获取泛型类的名称
【Java】利用反射获取泛型类的名称背景在阅读Flink源码的TypeInfomation类的时候,研究这个类是如何获取数据的类型名称的过程中,学习到了如何获取泛型名称的方法。在此记录一下:有如下场景:父类:public abstract class Parent<T> { public Parent(){ }}子类public class Son<String> extends Parent<T> { public Son(){
2022-04-16 20:56:19 2892
原创 java对于抽象类的getClass()方法
java对于抽象类的getClass()方法背景:在阅读flink1.14的源代码的时候,有一段代码的getClass()方法输出的结果很让我意外。在此记录一下,代表我经历过首先定义一个抽象类,在这个无参的构造函数中调用了一个getClass().getName()的方法获取当前的类名public abstract class Parent { public Parent(){ System.out.println(getClass().getName()); }}
2022-04-16 00:14:57 1166 1
原创 【Spark】SparkJdbc并发读取的partitionColumn规则
【Spark】SparkJdbc并发读取的partitionColumn规则参考: spark 官方文档使用spark的jdbc的方式读取数据的操作:方式1:spark.read.option(...).jdbc(url,table,properties)方式2:spark.fomat('jdbc').option(...).load()可以注意到,在spark通过jdbc读取数据时候是有一个option的选项的。本次主要讨论spark jdbc的多连接读取参数:partitionC
2022-03-28 23:16:38 3138
原创 spark sql截断小数做非四舍五入操作
spark sql截断小数做非四舍五入操作在开发过程当中,会遇到这样的一种情况。保留四位小数。比如这个图中,spark sql可以做到保留四位小数,但是这四位小数中的第五位是以四舍五入的方式进行进位的。最近遇到了一个业务场景,需要保留四位小数,但是第五位无论是多少都要进行舍弃,那么我们可以这样去做:* 现将这个数字扩大10000倍,然后在将这个数字进行向下取整数操作,然后将这个数除以10000。最后再转换为decimal(6,4) 保留四位精度小数。如上图所示:已经成功将temp转换为我们需要
2021-12-26 11:29:18 5465
原创 Spark Sql读取字符串json数组
Spark Sql读取字符串数组开门见山样例数据:造数sql:df:SELECT "[{'id':1,'name':'abc'},{'id':1,'name':'abc'}]" AS js+---------------------------------------------+|js |+---------------------------------------------+|[{'id':1,'
2021-10-27 00:17:23 9045 1
原创 2021-10-22 pyspark读取kudu表
pyspark 读取kudu表背景:有一个pyspark程序需要读取kudu表的数据。数据存储在kudu中,使用impala的话也不好读取kudu表中的数据—有一个kerberos认证的过程,阻碍了数据的读取。另外当前版本的hive是没有做针对kudu相关的配置。所以也无法使用hive去读取kudu表的数据。解决办法参考: kudu的官方文档针对spark读取kudu的方式:引入kudu-spark2_2.11,jarscala 可以通过maven的pom配置映入这个依赖包pyspark可
2021-10-25 16:17:36 1213
原创 SparkR: Collect 数据 报错:Error in readBin(con, raw(), as.integer(dataLen), endian = “big“)
SparkR Collect 数据报错背景描述在编写sparkR 的时候使用 (在开启的arrow功能)collect(sql("select max(id) from xxxTable")) 程序会报如下错误:Error in readBin(con, raw(), as.integer(dataLen), endian = "big") :软件环境:spark包版本:3.0.2arrow版本 0.16.0原因这是早起sparkR的一个bug,在新版本的sparkR下,已经修复了这个
2021-09-30 09:49:46 823
原创 2021-08-31 FlinkSQL 文件滚动探究
Flink Sql的文件滚动的探究背景最近有一次在使用flink sql connector的过程当中,我们使用flink kafka connector将kafka中读取出来的数据存储到hdfs中,写到hdfs的connector 是使用flink自带的filesystem connector写到hdfs的文件系统当中。在实际的使用当中,我们调整了如下参数开始配置参数auto-compaction = truecompaction.file-size = 128MBsink.rolling-
2021-08-31 23:44:54 3020
原创 Maven打入依赖中指定的部分jar包
Maven打入依赖中指定的部分jar包开门见山 项目运行的环境里面已经有该项目的所有代码依赖,所以项目的代码只要将自己的代码打入进去就能提交到环境中运行了。但是不好的地方就是项目运行环境里面有一个jar包是pom文件依赖其它项目的jar包,当这个jar包代码发生变更的时候,需要将环境中的该代码对应的jar包进行替换,所以最后得到的项目jar包中打入该项目的代码之后还需要打入其它项目的最新代码。操作过程模板如下: <build> <plugins>
2021-06-24 23:57:02 1968 4
原创 Hive 3.0.0 的安装(图文教程)
Hive 2.1 的安装(图文教程)开门见山点进来的大佬们肯定知道这东西干嘛用的,废话不多说,干就完了!安装包准备点击下载Hive 2.1将下载的hive包上传至服务器。解压安装包tar -zxvf apache-hive-2.1.0-bin.tar.gz为了好操作,将解压后的文件夹更改名字 mv apache-hive-2.1.0-bin hive向/etc/profile文件中写入hive的配置参数,命令如下: vim /etc/profile ## 在最下面添加,
2021-05-27 02:23:33 2170 5
原创 spark Join的中where的筛选与join的on 条件筛选探究
问题背景因为最近在利用spark SQL 进行数据的处理,在做两表进行join操作的时候。在join过程中,想探究数据的筛选方式是否会对执行速度有一定的影响。探究过程数据准备create table stu( id int , --唯一id name string, -- 姓名 subject string, -- 学科 score int --分数)插入数据,数据如下stu 表:+---+----+-------+-----+| id|name
2021-02-28 22:47:52 2142
原创 Spark 连接kafka报错: Error while fetching metadata with correlation id xx [topicName=INVALID_REPLICATIO]
问题来源同事在一次spark程序中,通过spark在kafka中的topic中写入数据发生报错,错误日志如下:2021-01-25 19:58:11,794 INFO utils.AppInfoParser: Kafka version : 2.0.0-cdh6.1.12021-01-25 19:58:11,794 INFO utils.AppInfoParser: Kafka commitId : null2021-01-25 19:58:11,984 INFO codegen.CodeGener
2021-01-25 22:53:25 8090 2
原创 Impala 查询创建表报错:Error converting column: 0 to BIGINT
Impala数据报错Error converting column: 0 to BIGINTError parsing row: file: hdfs://nameservice1/user/hive/warehouse//f24a1e0841d83114-b564012900000000_742834691_data.0., before offset: 8388608
2021-01-07 00:06:15 3294
原创 spark sql在当前的时间戳下增加8个小时
spark sql在当前的时间戳下增加8个小时话不多说,如图示: spark.sql("select date_format(current_timestamp(),'yyyy-MM-dd HH:mm:ss') as time1,date_format(current_timestamp()+interval 8 hours,'yyyy-MM-dd HH:mm:ss') as time2").show()总结言简意赅。。剩下的工地活多,记录一下,溜了。...
2020-12-07 11:35:31 4826
原创 2020-10-24 flink1.11整合cdh之jar包编译
flink 1.11 整合cdh jar包编译下载flink 1.11的源码下载地址:环境准备Cloudera Manager 6.1.1hadoop-cdh version 3.0.0scala_version 2.11mvn 需要安装git(主要想利用git中的shell,不想用的话可以使用power shell窗口命令行)前提需要在maven中配置cdh的源和aliyun的源(本文只讨论flink编译,不研究maven,默认已经做好)开始编译flink 源码下载
2020-10-24 23:34:54 742 1
原创 Kafka Connect Rest API 示例
Kafka Rest API 示例在Cent os 7下安装一个curl工具,一般默认自带下文中connectorName 是连接器的名字,下面的相关操作基本都用了过了。查询当前活动的connectorscurl localhost:8083/connectors心得:这个方法就是个查询API结果会得到一个connector list提交一个连接器json配置curl -s -X POST -H 'Content-Type: application/json' --data @con
2020-10-24 11:50:55 2762 8
原创 Kafkacat安装
kafkaCat安装下载地址:github:kafkacat点击下载zip之后,上传到服务器上,然后解压一下这个zip,然后使用如下命令yum install -y librdkafka-devel./configuremake && make install如果librdKafka不能正常安装的话,需要到github上面直接找到它的源码,自己手动编译安装注意编译的路径...
2020-10-14 00:24:58 2187 1
原创 debezium 的mysql插件+ schema registry(confluent)实现 avro 序列化
debezium 的mysql插件+ schema registry(confluent)实现 avro 序列化背景avro 序列化与json序列化方式比较默认的kafka的connect 使用的是一种json的方式完成的序列化。这种json的序列化的结构数据比较冗长。在kafka中存储数据的同时,也存储数据的其它结构信息(每条数据都要存储一遍),这样占用大量的空间。confluent avro序列化的优点:Avro模式将表的结构信息存储在schema registry中,所以在kafka每个记录
2020-08-08 19:49:55 1387
原创 Debezium 捕获mysql的CDC数据并且写入kafka
Debezium 捕获mysql的CDC数据并且写入kafka环境准备:环境中已有kafka的集群环境中已有zookeeper集群Mysql安装完成,并且开启了binlog软件准备:下载confluent community下载debezium mysql connector原理:kafka connect 利用 debezium mysql connector插件,监控Mysql的Binlog日志。将数据写入到kafka中。部署过程此处使用的是kafka connect s
2020-08-08 12:55:17 1565
原创 Mysql Binlog + Debezium + Kafka链路打通
Mysql Binlog + Debezium + Kafka链路打通(standalone模式)测试Debezium利用mysql的二进制日志打入Kafka这套链路过程环境:zookeeper集群(已有)kafka集群(已有)CentOS 7mysql (已有)准备软件:confluent community 5.5start开启zookeeper集群开启kafka集群mysql 要开启binlog,且mysql里面新建一个库找个目录解压confluenttar
2020-08-02 13:58:16 743 2
原创 Percona XtraDB Cluster安装
Percona XtractDB Cluster安装安装环境:CentOS 7.6软件准备:Percona XtractDB Cluster5.7下载地址percona xtrabackup 2.4下载qpress 下载开始正式的安装yum install perl openssl-devel perl-DBI libaio net-tools 开始安装qpressrpm -ivh rpm -ivh qpress-11-1.el7.x86_64.rpm开始安装
2020-07-25 23:33:30 736
原创 Anaconda安装jupyter lab + jupyterlsp(代码提示,代码纠错)详细搭建过程
Anaconda安装jupyter lab + jupyterlsp(代码提示,代码纠错)详细搭建过程抛弃jupyter notebook 因为可以看代码的区域比较小,就中间那一块,所以选择jupyter lab写代码的范围大还好看。但是默认安装的jupyter lab是没有代码自动提示的功能的。这个时候jupyter lab 自带一个jupyter lsp插件。出处: github jupyter lsp下面开始完整的搭建过程,这次的教程面向小白,所以详细一点,受人之约,终人之事:本次是在windo
2020-07-25 14:18:09 19574 33
原创 Python:Microsoft Visual C++ 14.0 is required.解决方案
Python:Microsoft Visual C++ 14.0 is required.解决方案这个问题是在python里面安装一些包会出现的,如果你也遇到了类似下面的图中所示的这样问题的话:请下载,下载地址百度网盘提取码: 3y8v然后双击安装:等待一些时间就可以安装完毕了然后重新安装一次,会看到问题已经解决了,如下图所示:可以看到,问题解决了总结:这个问题经常遇到,顺手就写个解决方案吧,希望看到这页面的小伙伴们,能够顺利的解决这个问题。如果有什么其他更好的方案,请大佬们在
2020-07-25 12:35:20 364
原创 Airflow详细搭建过程(亲测 + 总结)
Airflow详细搭建过程(亲测+总结)官网:Apache airflowAirflow是社区创建的一个平台,用于以编程方式编写,安排和监视工作流。半个月前搭了一次,现在做一个记录,不逼逼,开始搭建了,全程多图:环境准备系统: cent os 7conda版本: 4.8.2airflow版本 1.10.11开始搭建我这边会用一个conda创建一个apache airflow的环境:conda create -n airflow_env python=3.7切换到当前的这个环境:c
2020-07-11 16:58:23 7796
原创 Spark报错: java.lang.UnsupportedOperationException: Unimplemented type:LongType
Spark报错: java.lang.UnsupportedOperationException: Unimplemented type:LongType记录一下Spark报错,好记性不如烂笔头背景:spark程序读取数据报错打开下面是spark的报错信息测试代码是:spark.read.parquet(path).show()原因:这个问题是目录里面的parquet文件的schema信息不一致导致的,详细的原因是:目录下面的多个parquet文件中的字段个数和字段的名称是一致的。但是有一个
2020-06-29 12:09:28 1663 3
页面替换算法LFU算法是记录使用频数是什么?
2017-06-28
Cache页面置换LFU算法
2017-06-23
c# 动态向panel中添加控件,并且水平滚动条自动向右滚动问题
2017-06-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人