自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

原创 报错:Codec [xxx] is not available. Available codecs are brotli,uncompressed,lz4,gzip,lzo,snappy,none

可能是建表语句中TBLPROPERTIES (‘PARQUET.compression’=‘xxx’)建议填snappy gzip uncompressed。写入到hive中报错,编码器不可用。

2022-08-05 10:43:47 556 1

原创 写hbase异常native snappy library not available: this version of lib hadoop was built without snappy

操作snappy压缩的表时抛出:原因: 是由于没有在java.library.path上加上snappy库解决方法:修改spark-defauilt.conf配置文件加上: spark.executor.extraLibraryPath /ldata/Install/hadoop/lib/native或者spark.executor.extraJavaOptions -Djava.library.path=/data/Install/hadoop/lib/native如果是spark任务,则在spa

2022-06-30 15:44:53 1331

翻译 oracle使用多列分区键

对于范围分区表和散列分区表,最多可以指定16个分区键列。当分区键由几列组成,并且后续列定义的粒度比前几列更高时,使用多列分区。最常见的场景是分解的DATE或TIMESTAMP键,由年、月和日的独立列组成。在计算多列分区键时,只有当第一个值不能唯一标识单个目标分区时,数据库才使用第二个值,只有当第一个值和第二个值不能确定正确的分区时,数据库才使用第三个值,依此类推。只有当分区界限与某个值完全匹配,并且为下一个分区定义了相同的界限时,该值才能确定正确的分区。仅当多列键的所有前(n-1)个值与分区的(n-1)

2022-04-20 14:53:53 1056

原创 spark dataframe正则表达式

关于如何在spark中对Dataframe使用正则表达式进行筛选,最近在使用过程中进行了小研究。1、遇到的问题一准备一个DataFrame,首先的思路是使用withColumn对dataFrame中的目标列进行修改://dataframe 结构如下+-----+-------+----+|index| name|type|+-----+-------+----+| 1|Michael| A|| 2| Andy| B|| 3| Justin| C|+-

2021-12-29 17:25:19 1750

原创 Scala处理复杂json

Scala 处理复杂 json示例 JSON 如下{ "nodeName": "xxx", "source": "join", "left_child": { "nodeName": "yyy", "join": null, "source": "hive", "parameter": { "address": "", "port": 9083,

2021-12-21 20:06:10 386

原创 JavaAPI修改Kafka配置 server.properties

<dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>2.4.0</version> <exclusions> <exclusion> <groupId>org.slf4...

2021-11-12 14:31:11 574

原创 JavaAPI创建kafka topic 删除及修改分区

记录最近遇到一个需求中踩到的不少坑,现在整理一下做个汇总使用JavaAPI写一个Kafka topic创建及修改目前发现有两种方法:一种通过注册zookeeper来管理kafka,这是一种很老的方法,这里不做过多赘述另一种是adminclient说明:在Kafka0.11.0.0版本之后,多了一个AdminClient,这个是在kafka-client包下的,这是一个抽象类,具体的实现是org.apache.kafka.clients.admin.KafkaAdminClient。这个类可以实现相

2021-11-12 11:30:51 2586

原创 SparkSQL数据为空而引起的show()报错

为了解决数据为空而引起的show()报错,在过滤时使用 !x.isNullAt(1) 判断是否为空,为空就丢弃//过滤 .getDouble(1) 1指第几个column,从0开始 df3.filter(x => !x.isNullAt(1) && x.getDouble(1) < 1995).show(10)...

2021-10-15 11:07:46 460

原创 Scala部分函数

部分函数外部在传入的参数,按照输入顺序接收。1、样例//部分函数 def showMsg(title: String, content: String, height: Double): Unit = { println(title + " " + content + " " + height) } showMsg("警告", "水位上涨", 123)运行结果--------------------------------------------------

2021-10-14 11:15:41 81

原创 整理常用的Scala数组算子

def main(args: Array[String]): Unit = { val arr1 = Array(1, 2, 3, 4) val first = arr1(0) val newArr = arr1.map(x => x * 2) newArr.mkString(",") //拼接字符串 newArr.mkString("(", "*", ")") //合并集合 val a = Array(1, 2) val b = A

2021-10-14 10:38:15 178

原创 null/hadoopbinary/wintils.exe 报错

遇见 null/hadoopbinary/wintils.exe 报错是因为windows缺少hadoopCommon包,需要下载并解压hadoop-common-2.2.0-bin-master包并在环境变量中设置环境变量,1、在用户变量中新建HADOOP_HOME变量名,变量值为common包的位置2、在系统变量Path中,添加%HADOOP_HOME%\bin;点击确定保存,并重启电脑即可...

2021-09-17 15:50:19 126

原创 Kafka Stream 实时流例程

Kafka Stream提供了对存储于Kafka内的数据进行流式处理和分析的功能。使用kafkaStream将kafka输入一个topic的数据,以实时流的方式写入到另一个topic中间可以对数据进行“加工”,对截取到的数据累加后在放到另一个topic中首先新建两个kafka topic 一个用来作为第一接受数据topic,另一个用来接收转发数据topicmystreamin为接收数据topickafka-topics.sh --zookeeper 192.168.150.100:218.

2021-05-27 15:06:12 196

原创 一图搞定MapReduce流程

2021-05-25 19:07:09 151

原创 使用自定义程序过滤flume数据

编写java自定义过滤程序新建一个maven项目在pom.xml中添加<dependency> <groupId>org.apache.flume</groupId> <artifactId>flume-ng-core</artifactId> <version>1.6.0</version> </dependency>新建java程序package flu

2021-05-25 18:58:12 327

原创 flume 实时监控读写操作例程

Flume最主要的作用就是,实时监控读取服务器本地磁盘的数据,将数据写入到HDFS、kafka。输入vi flume-env.sh进入修改配置java路径export JAVA_HOME=/root/software/jdk1.8.0_221配置flume的运行内存(建议10G)export JAVA_OPTS="-Xms10240m -Xmx10240m -Dcom.sun.management.jmxremote"配小了在运行大量运算时容易报channel不足错误在conf文件夹下.

2021-05-25 17:17:23 283

原创 kafka快速安装配置

到安装包所在的目录,输入tar -zxvf 包名进行解压输入mv 包名 kafka对解压包进行改名配置环境变量,输入vi /etc/profile并在最后添加路径export KAFKA_HOME=/root/software/kafkaexport PATH=$PATH:$KAFKA_HOME/bin在文件夹根目录创建一个文件夹,用来放日志和数据文件mkdir /root/software/kafka/logs打开kafka目录进入config输入vi server.properties

2021-05-20 17:42:23 112

原创 Hadoop高可用集群快速搭建

HDFS——HA集群配置在之前的教程中安装好hadoop、zookeeper1、在core-site.xml中添加以下的配置<configuration><!-- 把两个NameNode)的地址组装成一个集群mycluster --><property> <name>fs.defaultFS</name> <value>hdfs://集群名</value></property><!-- 指

2021-05-18 17:10:00 93

原创 Spark自定义函数UDF UDAF UDTF编写

一、Spark自定义函数UDFimport org.apache.spark.sql.{Row, SparkSession}import org.apache.spark.{SparkConf, SparkContext}object UDFDemo {//创建样例类 case class Hobbies(name: String, hobbies: String) def main(args: Array[String]): Unit = {//建立连接 val conf =

2021-05-12 19:19:26 217

原创 如何使用Spark连接MySQL数据库

import org.apache.spark.sql.SparkSessionobject SparkToMysql { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().appName("toSQL") .master("local[*]") .config("hive.metastore.uris", "thrift://192.168.150.100:9083

2021-05-12 18:56:36 2375

原创 如何使用Spark连接Hive

使用Spark连接Hive获取数据一、在连接前,先保证服务器端的运行环境正常1、Linux窗口输入start-all.sh启动hadoop环境2、再输入 hive --service metastore & 启动hive服务3、在Linux窗口输入jps检查服务是否都启动 RunJar代表hive服务已启动 二、使用以下代码连接hiveimport org.apache.spark.sql.SparkSessionobject sparkToHive { de

2021-05-12 17:30:12 2164

原创 spark连接HDFS报错:8020 failed on connection exception: java.net.ConnectException: 拒绝连接 解决方法

一、接口错误spark连接HDFS时直接报错,可能是hadoop中core-site.xml配置的集群端口时9000,而spark写的是8020,改为9000即可。二、hdfs文件丢失当初次连接成功,并且获取表结构也成功,但是一获取表数据时就报错 拒绝连接 ,这时要到MySQL中查看该数据库或者该表的文件是否真的存在于指定位置,当文件丢失时也会报错。报错内容会显示文件端口丢失。...

2021-05-11 18:55:17 4246

原创 虚拟机报错:Job for network.service failed because the control process exited with error code

在CentOS系统上,目前有NetworkManager和network两种网络管理工具。如果两种都配置会引起冲突。由于一般我们都是使用 network 配置静态ip,可能是关机(某种缘故)导致NetWorkManager自动配置,发生了冲突,所以把它禁用掉就好了。临时关闭systemctl stop NetworkManager永久关闭systemctl disable NetworkManager重启systemctl restart network...

2021-04-22 10:10:39 1512 1

转载 JVM虚拟机原理

点这里跳转

2021-04-21 10:45:51 47

原创 hive语句练习—用户订单分布

用户订单分布按照用户id进行分组,统计订单时间以及地域的分布情况订单指标:第一次下单时间,最近一次下单时间,首单距今时间,尾单距今时间,近30天订单数量(不含退拒近30天订单金额(不含退拒)近60天订单数量(不含退拒)近60天订单金额(不含退拒)近90天订单数量(不含退拒)近90天订单金额(不含退拒)近30天订单数量(含退拒)近30天订单金额(含退拒)近60天购买次数(含退拒)近60天购买金额(含退拒)近90天购买次数(含退拒)近90天购买金额(含退拒)近90天的客单价

2021-04-19 23:53:51 493

原创 字符串的长度限制

问:字符串有长度限制吗?是多少?答:首先字符串的内容是由一个字符数组 char[] 来存储的,由于数组的长度及索引是整数,且String类中返回字符串长度的方法length() 的返回值也是int ,所以通过查看java源码中的类Integer我们可以看到Integer的最大范围是2^31 -1,由于数组是从0开始的,所以数组的最大长度可以使【0~2^31】通过计算是大概4GB。但是通过翻阅java虚拟机手册对class文件格式的定义以及常量池中对String类型的结构体定义我们可以知道对于索引定义了u

2021-04-09 12:10:20 2648

转载 数据库横向扩展和纵向扩展

传统master—slaves模式中master性能会成为瓶颈,使用将数据库的“分片”概念来解决水平拆分水平的拆分的方案,即不修改数据库表结构,通过对表中数据的拆分而达到分片的目的:1)使用用户id做hash,分解数据库,在访问数据库的使用用户id做路由。2)将产品订单表按照已下单和未下单区分成两个表。一般水平拆分在查询数据库的时候可能会用到union操作。垂直拆分即将表和表分离,或者修改表结构,按照访问的差异将某些列拆分出去。1)将用户信息表放到一个数据库server,将产品订单表放

2021-04-09 10:34:46 3051

原创 UDF自定义函数idea配置

创建一个新项目,选择maven,勾选上面的create from archetype选择底下的org.apache.maven.archetypes:maven-archetype-quickstart并点击Next设置groupId和ArtifactId第一行按照你的IDEA安装目录选择maven,第二行按照apache安装目录选择maven,选择之前要勾选右侧的override输入Project name 点击Finish,项目创建完成接下来进行配置,在pom.xml中修改以下内容

2021-04-06 15:25:50 351

原创 hive快速安装

使用ssh将安装包放进/root/software目录输入cd software进入压缩包所在的目录输入tar -zxvf 包名解压压缩包输入mv 原安装文件夹名 hive改名(好记)输入cd /hive/conf准备修改配置输入vi hive-site.xml创建配置文件按a进入编辑模式<configuration> <property> <name>hive.metastore.warehouse.dir&

2021-04-01 19:21:49 116

转载 OVER(PARTITION BY... ORDER BY...)的使用说明和意义

OVER(PARTITION BY... ORDER BY...)的使用说明和意义 这个函数长这个样子:OVER(PARTITION BY... ORDER BY...)顾名思义,PARTITION 中文是分割的意思,ORDER 是排序的意思,所以翻译一下就是先把一组数据按照制定的字段进行分割成各种组,然后组内按照某个字段排序。以实际案例来说明这个函数的使用,首先,我们先看一组普通排...

2021-04-01 16:11:44 1628

原创 hbase快速安装

hbase安装1、打开hbase/conf/ ,修改Hbase-env.sh1. export JAVA_HOME={jdk路径}2. export HBASE_MANAGES_ZK=false //使用外部zookeeper2、修改hbase-site.sh<property> <name>>hbase.rootdir</name> <value>hdfs://192.168.175.100:9000/hbase</val

2021-03-30 11:59:04 104

原创 使用java代码连接HDFS

前提是输入localhost:50070可以正常进入网页 Configuration conf=new Configuration(); try { FileSystem fs= FileSystem.get(new URI("hdfs://192.168.175.100:9000"),conf,"root");//创建文件夹 fs.mkdirs(new Path("/testHDFS/java/hello"));//上传文件 .

2021-03-29 08:23:48 751

转载 范式(数据库的设计范式)

范式:符合某一级别的关系模式的集合,构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式.关系数据库必须满足一定的要求,即满足不同的范式. 目前关系数据库有六种范式:第一范式(1NF) 第二范式(2NF) 第三范式(3NF) Boyce -Codd范式(BCNF) 第四范式(4NF) 第五范式(5NF) . 满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。 第一范式(1NF)

2021-03-26 08:46:33 132

原创 Hadoop安装教程

文章目录前言一、hadoop是什么?二、安装前准备1.安装包2.配置环境变量总结前言一、hadoop是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、安装前准备1.安装包首先下载hadoop 安装包,代码如下(示例):使用tar -zxvf命令来解压tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz解压后的文件夹hadoop-2.6.0-cdh5.14.2由于名字太长不方便记忆,所以把文件夹改名字为.

2021-03-18 19:20:53 161

原创 MySQL的安装 Linux

如果要在Linux系统中安装MySQL,需要到官网中下载相关的安装包 官网地址:https://dev.mysql.com/downloads/mysql/按照图示下载相应的安装包一、开始安装前的准备使用MobaXterm等工具将上面安装包传入Linux系统的文件夹中,如找不到可以用 mkdir命令新建一个自己喜欢的文件夹,这里我在root文件夹中创建了Package文件夹用来存储安装包。进行正式安装之前需要删除系统自带的mariadb数据库rpm -e mariadb-libs-1:5.

2021-02-19 17:08:51 82

转载 Hashmap排序的几个方法

假设有这样的类:   class Student { private Integer id; private String name; Student(Integer id, String name) { this.id = id; this.name = name; } public String toString() { return "[id="+...

2021-02-12 13:42:32 1566

原创 遍历集合的方法

遍历List方法一:普通for循环1234for(int i=0;i<list.size();i++){//list为集合的对象名    String temp = (String)list.get(i);    System.out.println(temp);}遍历List方法二:增强for循环(使用泛型!)123...

2021-01-26 00:45:13 404

原创 面对对象编程三大特性简析

系列文章目录面向对象编程是利用 类和对象编程的一种思想。万物可归类,类是对于世界事物的高度抽象 ,不同的事物之间有不同的关系 ,一个类自身与外界的封装关系,一个父类和子类的继承关系, 一个类和多个类的多态关系。万物皆对象,对象是具体的世界事物,面向对象的三大特征封装,继承,多态,封装,封装说明一个类行为和属性与其他类的关系,低耦合,高内聚;继承是父类和子类的关系,多态说的是类与类的关系。文章目录系列文章目录前言一、面对对象编程二、三大特性1.封装1.为什么需要封装2.如何封装2.继承3.多态1.向下转型

2021-01-20 00:05:53 210

原创 用JAVA实现简单点餐系统

JAVA练习题文章目录JAVA练习题用JAVA实现简单点餐系统用JAVA实现简单点餐系统程序控制分析:1、欢迎页循环:do-while2、Scanner 控制输入要求:订单信息:String 二维数组序号、姓名、餐品名称、份数、价格、总价、地址、时间(10-20)、状态(已预定、已完成)、热度(int型)签收订单:改变订单状态,已预定可以签收,如果已经完成则不能再次签收。删除订单:不能删除未完成订单,序号要随之改变。我要点赞:对相应的餐品点赞,并展示。package Prac

2021-01-14 14:09:33 10045 3

原创 有一组数,其排列形式如下:11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,8,且尾部8 和头部11 首尾相连,构成环形的一组数,编程找出(连续)相邻的

有一组数,其排列形式如下:11,19,9,12,5,20,1,18,4,16,6,10,15,2,17,3,14,7,13,8,且尾部8 和头部11 首尾相连,构成环形的一组数,编程找出(连续)相邻的4 个数,其相加之和最大,并给出它们的起始位置下标。public class Num { public static void main(String[] args) { int[] num={11,19,9,12,5,20,1,18,4,16,6,10,15,2,

2021-01-13 19:27:49 2377 1

原创 数组

文章目录数组一、数组是什么?二、一维数组1.数组使用2.Arrays类2.读入数据三、二维数组总结数组考一、数组是什么?数组是一个变量,存储相同发数据类型的一组数据。数组基本要素标识符数组名数组元素值元素下标从0开始元素类型类型二、一维数组1.数组使用1、声明数组声明数组时不规定数组长度。int []a; //数据类型 数组名[];2、分配空间数组元素根据类型不同。有不同的初始值。anew int[5]; //数据类型[]

2021-01-12 22:59:56 67

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除