自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (8)
  • 收藏
  • 关注

原创 MyBatis研究

MyBatis

2023-11-12 23:48:59 306

原创 Hive 实现ACID

【代码】Hive 实现ACID。

2023-05-28 09:59:18 262

原创 常见维度设计

在设计大维表时,应该遵循数据仓库设计的一些基本原则,如遵循维度建模,使用正确的数据类型和数据结构(Int, Long, Varchar),设计合适的索引,进行性能优化等。此外,技术层面的处理方式主要包括:关联字段建立索引,建分区,表压缩,列存储等,以优化大维表的存储和查询性能。与其为每个标识或属性定义不同的维度,不如建立单独的将不同维度合并到一起的杂项维度。桥接表的方式适用于多值能够在逻辑(或事实)上隶属于一个组(值)的场景,新增列的方式则适用于值数固定的场景,各有优劣,设计时按需选用。

2023-05-09 16:57:37 506

原创 Java 常用API编程

java调用shell。

2023-03-24 17:05:44 1005

原创 Maven打包子模块

指定打包maven工程模块及其下属子模块

2023-03-20 14:48:58 1875

原创 Flink DataStream API编程

消费Kafkaimport org.apache.flink.api.common.eventtime.WatermarkStrategy;import org.apache.flink.api.common.serialization.SimpleStringSchema;import org.apache.flink.connector.kafka.source.KafkaSource;import org.apache.flink.connector.kafka.source.enumer

2022-03-29 15:44:11 3639

原创 PySpark coding

记录一些pyspark的简单程序......WordCount读取hdfs文件,wc:from pyspark import SparkContext, SparkConf"""Pyspark Word Count Demo"""def sorted_all_result(wc_rdd): """ WordCount取全量,collect()之后排序 :param wc_rdd: RDD :return: """ word_list

2022-01-09 17:10:06 573

原创 一些算法编程题

记录一些刷过的题目。。。反转链表public class ReverseListDemo { public static void main(String[] args) { ListNode node1 = new ListNode(1, null); ListNode node2 = new ListNode(2, node1); ListNode node3 = new ListNode(3, node2); Solu

2021-11-28 16:47:33 140

原创 Hadoop命令行指南

1. 综述Hadoop及其子模块的命令都遵循着相同的基本结构:用法:shellcommand [SHELL_OPTIONS] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]字段 描述 shellcommand 被调用的模块的命令。比如:调用Hadoop common模块下的命令用hadoop,HDFS用hdfs,YARN用yarn。 SHELL_OPTIONS shell在执行Java程序之前需处理的选

2021-09-02 22:54:36 1113

原创 Spark SQL操作Hive表

Spark SQL支持从Hive存储中读写数据。然而,Hive存在很多的依赖,而这些依赖又不包含在默认的各类Spark发型版本中。如果将Hive的依赖放入classpath中,Spark将自动加载它们。值得注意的是,这些依赖必须在所有节点中都存在。因为他们需要通过Hive的序列化和反序列化库(SerDes)来访问存储在Hive中的数据。在Spark中配置Hive,需要将hive-site.xml, core-site.xml, hdfs-site.xml放置到Spark的conf/目录下。需要操作H

2021-09-02 22:54:05 2808

原创 使用Flink读取HBase数据

2021-05-27 23:24:12.296 ERROR 11668 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoSuchFi.

2021-09-02 22:46:17 4179 4

原创 Flink下沉数据到Redis的两种方式

这里使用Flink的DataStream API,数据源则是通过消费Kafka的主题。因此,maven工程中的依赖必须包括:<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> <version>${flink.version}</version&g...

2021-09-02 22:19:29 696

原创 Spark读写Hive

1. 读配置文件的方式根据官网相关章节的说明,为了使spark能够获取到hive, hadoop的相关配置,可将hive-site.xml, core-site.xml, hdfs-site.xml这三个配置文件放到集群的${SPARK_HOME}/conf之下,而我们在项目开发时,maven项目中,则需放到resources目录之下,方便SparkConf实例化对象取到值。由于spark是通过thrift协议连接到hive的metastore服务,因此,在hive-site.xml中应加入如下配置:

2021-08-20 00:13:36 2727

原创 Java NIO

FileChannel读取文件public class Main { public static void main(String[] args) throws Exception { // 获取文件,"r"为只读模式 RandomAccessFile file = new RandomAccessFile("D:/data/data.txt", "r"); // 获取文件通道 FileChannel channel = fi

2021-08-14 12:29:13 122

原创 commons-cli的简单使用

首先需要说明,在1.3版本之前,主要使用的是BasicParser类,根据源码文档说明,它只是对抽象类Parser的简单实现,功能有限。自1.3版本之后,我们改用DefaultParser类。就使用者在编码方面而言,基本没有区别,下面进行演示:首先在pom.xml中引入依赖:<dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</arti.

2021-08-07 22:23:19 1005

原创 记录关于log4j的一次纠结

首先说明,copy是一把双刃剑,日常工作中“抄”得好会极大的提升工作效率,但如果只是一味的享受随之带来的快餐文化,会让我们变得非常混沌,从而在追求进步的路上原地打转

2021-06-18 15:24:16 205 1

原创 HDFS Erasure Coding (纠删码技术)

Hadoop3.0 引入了Erasure Coding (EC, 纠删码技术),根据官网的介绍,使用EC技术可将额外的存储开销控制在不超过50%。存储备份的开销是巨大的,HDFS默认的3x备份机制,使得整个集群将多出200%的存储空间的开销以及其他诸如网络带宽等的开销。然而,对于I/O相对较低的热数据集和cold数据集,在正常操作期间很少访问额外的块副本,仍然消耗与第一个副本相同的资源量。因此,一种自然的改进是使用EC来代替复制,它提供相同级别的容错,但存储空间要少得多。在典型的Erasure Cod.

2021-06-09 17:45:38 170

原创 Flink执行图

StreamGraph在Client上生成最初的程序执行逻辑流程,也就是算子之间的前后顺序

2021-06-02 23:07:26 237 2

原创 Maven項目添加本地jar包

在pom.xml文件中添加: <dependency> <groupId>com.baich</groupId> <artifactId>demo</artifactId> <systemPath>${project.basedir}/src/main/resources/lib/demo-1.0-SNAPSHOT.jar</systemP

2021-05-31 21:40:58 215

原创 Spring Boot项目引入hive

项目正好在做,刚好完成这个小功能,所以记录下:材料准备:Spring Boot项目 hadoop集群(伪分布式都可以) hive步骤:在Spring Boot项目 pom中引入所需依赖: <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId>

2021-05-26 13:27:57 1020

原创 IDEA运行Flink程序找不到ExecutorFactory

报错信息:Exception in thread "main" java.lang.IllegalStateException: No ExecutorFactory found to execute the application.原因:根据发布记录的描述,flink 1.11.0之后,flink-streaming-java模块不再依赖flink-clients,因此在Idea中运行flink程序时,应显式添加flink-clients模块依赖包。处理办法:pom.xml文件中引

2021-05-24 22:09:29 475

原创 Spark RDD.takeOrdered倒序取数

首先观察RDD中takeOrdered的源码,num是取数个数,ord则是一个实现了Ordering特征的隐式参数。scala在调用包含有隐式参数块的方法时,将首先查找可以直接访问的隐式定义和隐式参数,也就是说,当我们在调用takeOrdered(n)时,ord即为Ordering特征的默认实现,观察Ordering源码,以Int类型为例,排序方式为:即为顺序排序。因此,要实现倒序取数很简单,ord传入一个倒序排序的Ordering实现类即可。以下是相关示例代码:import or

2021-04-15 11:56:21 902 2

原创 Flink Table API & SQL 编程

Kafka Table & SQL连接Kafka读写数据的样例代码:首先是依赖,maven项目中需指定: <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-scala_2.11</artifactId> <version>1.12.0

2021-03-19 12:37:55 997

原创 Flink1.12使用KeyedProcessFunction实现温度监控(案例一)

最近在哔站学习武老师Flink的教程,受益匪浅。其中关于Flink的一些案例,非常有意思,故记录下来。分享给感兴趣的朋友。本次案例的场景是:假设有n个传感器,其温度值被记录下并灌到Kafka的主题里。我们需要读取这些数据并分析之,在10s内如果该温度值持续上升,则抛出警告信息。实现方式:因为要在“指定时间内”温度“持续上升”,需要获取上下文状态,且需包含一个定时器的功能去指定一段时间,因此考虑到使用ProcessFunction,而因为要对n个传感器进行分组处理,所以考虑使用KeyedProc.

2021-03-16 17:01:03 1887 1

原创 Flink1.12 使用WatermarkStrategy生成时间戳

Flink1.12版本后建议使用assignTimestampsAndWatermarks(WatermarkStrategy)的方式生成watermark,之前使用的assignTimestampsAndWatermarks(AssignerWithPunctuatedWatermarks)以及assignTimestampsAndWatermarks(timestampAndWatermarkAssigner)均不再被推荐使用,这里是根据官网给出的小例子,仅供参考:package demo;i

2021-03-05 11:21:46 5119

原创 Flink DataStream支持的物理分组方式

KeyBy上游算子按键分组发送给下游算子global上游算子将所有记录发送到下游算子的第一个实例broadcast上游算子将每条记录广播发送给下游算子的所有实例forward仅适用于上游算子实例数与下游算子数相同时的情况:每个上游算子实例将记录发送给下游算子对应的实例shuffle上游算子随机选择一个下游算子发送记录rebalance上游算子通过轮询的方式发送数据rescale假设上游和下游算子的实例数分别为n和m,若n < m,则每个上游实例向ceil(m/n)

2021-02-24 11:13:53 463

原创 Flink的ValueState接口

根据Flink官方介绍,org.apache.flink.api.common.state.ValueState是一个封装类,类似于java标准库中的AtomicReference和AtomicLong。以下是ValueState的源码,不难看出,它是一个接口,并且继承了一个名为State的接口。/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreemen

2021-02-23 11:45:42 760

原创 找不到msvcr120.dll

缺msvcr120.dll的,多半可能是缺Visual C++ Redistributable Packages for Visual Studio 2013了(或者也有可能是损坏了等原因)。到官网下载地址下载一个手动装上就好了。

2020-12-22 16:04:02 193

翻译 HDFS 快照

概述HDFS 快照(Snapshots)是文件系统在特定时间点生成的只读备份。快照可以在文件系统的一个子分支或整个文件系统上生成。快照的常见使用场景就是数据的备份,以达到容错容灾的目的。快照的创建是瞬时的:复杂度为O(1)(不包含inode查找时间)。 仅当对快照进行修改时才使用额外的内存:内存使用空间复杂度是O(M),其中M是修改的文件/目录的数量。 DataNode里的数据块不会被复制:快照文件只对数据块,数据块的大小进行记录,不产生数据复制。 快照不会对常规HDFS操作产生负面影响:修改

2020-12-22 15:52:58 502

翻译 HDFS Shell指南

前言文件系统的shell包含了各种各样的类linux shell的命令,用户可借助这些命令直接与HDFS或Hadoop支持的其它文件系统进行交互(比如本地文件系统, WebHDFS, S3 FS等等)。调用FS shell的命令为:bin/hadoop fs <args>所有的文件系统shell命令都以路径URI为参数,URI格式:scheme://authority/path。比如对于HDFS来说,这里的scheme即为hdfs,对于本地文件系统,sheme就是file。sc

2020-12-22 14:35:24 215 2

翻译 DistCp

目录前言常用命令选项更新和覆盖不同HDFS版本间的复制MapReduce和副效应前言DistCp即distributed copy,分布式复制的意思,是集群间用于处理高I/O复制的工具。其底层基于MapReduce,因此具有分布式的能力,容错性以及对异常的监控和上报能力。它将文件和目录列表展开到映射任务的输入中,每个任务将复制源列表中指定文件的一个分区。本文的目的是描述新的DistCp的设计、它的新特性、它们的最佳使用以及与遗留实现的任何偏差。常用命令DistCp

2020-12-18 15:31:40 1043

翻译 Hadoop Archives

Hadoop archives是一种特殊格式的归档,一个归档往往映射到文件系统的目录,一个Hadoop archive通常是*.har的扩展文件。其映射的目录里面存放着元数据(形式如:_index, _masterindex)和数据(part-*)文件。_index文件指定了归档内各个分块文件的文件名和存放地址。1. 创建归档hadoop archive -archiveName name -p <parent> [-r <replication factor>] <

2020-12-18 10:22:07 218

翻译 搭建一个Hadoop集群

1. 目的本篇将详细介绍如何在几个节点乃至成百上千个节点上搭建和配置Hadoop集群。还未接触过Hadoop的朋友可参考上一篇博文的介绍,先尝试部署和使用单节点Hadoop。

2020-12-11 15:17:07 220

翻译 搭建一个单节点的Hadoop

1. 前言欢迎来到小可的Hadoop专栏,作为一个曾经的“四级狗”,在下定决心逐字逐句硬啃Apache Hadoop官方文档时,身心是处于“颤抖模式”的。忐忑不安也好,诚惶诚恐也罢,我还是决定出发了!记得刚入行大数据的时候,没有同行,没有良师,只有一个益友在远程遥控和打气。那是最艰难的日子--没有任何基础,Linux稀烂,搭建一个Hadoop伪分布式集群都花了半个月;Java稀烂,看懂一个word count程序要耗上半天时间;SQL稀烂,明明跟着教程都能理解各种JOIN,一到自己写就只会SELECT

2020-12-09 17:20:36 759 1

原创 Hive array, map, struct类型的使用

1.array1.1 需装载的数据样例此时一个编号对应了多个部门,那么这些部门可以存为一个array。1.2 首先创建表create table t_dept_info(num string,dept array<string>) row format delimited fields terminated by ',' collection items terminated by "|";dept array<string> : 声明了dept字段,类型.

2020-12-07 12:58:32 1182

原创 CentOS7下安装ClickHouse遇到的启动和连接问题

按照clickhouse官网的说明进行安装,贴一下:sudo yum install yum-utilssudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPGsudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/clickhouse.reposudo yum install clickhouse-server clickhouse-clie

2020-11-17 16:48:42 12268 8

原创 在CentOS7下安装Oracle 12C

1、虚拟机配置(网络、关闭防火墙等)2、安装oracle依赖包:yum -y install binutils compat-libstdc++ compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers ksh libaio-devel libstdc++-devel make sysstat...

2020-02-24 14:26:01 385

原创 Java IO流小记

一直想归纳总结下Java的IO流。利用空闲时间写一点儿,后面再找时间补充吧。1、分类 按流向:输入流(读取数据),输出流(写出数据) 按数据类型:字节流,字符流 综上,有以下几大类: 字节输入流(读取数据)--- InputStream 字节输出流(写出数据)--- OutputStream 字符输入流(读取数据)--- Reade...

2020-02-20 16:15:28 209

原创 Java操作hdfs笔记

package day01;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*;import org.junit.Before;import org.junit.Test;import java.net.URI;import java.util.Iterator;import jav...

2020-02-13 10:45:57 171

原创 hadoop运行程序时的常见错误

本文记录了hadoop程序开发完成打jar包到服务器上运行过程中的常见报错信息并提供解决方案:1、运行jar文件的命令: hadoop jar name.jar mainClass args[0] args[1] name.jar -- jar文件名 mainClass -- 要执行的程序main方法所在类,以项目src/为根目录的对应路径,中间以"."连接或直接...

2020-02-07 11:16:20 1726

tcpdump-4.5.1.tar.gz

tcpdump

2019-11-28

flex-2.6.0.tar.gz

flex

2019-11-28

bison-3.3.2.tar.gz

bison

2019-11-28

CentOS安装oracle.txt

根据自己的操作情况,详细列出了linux centos7下安装Oracle12c的步骤。

2019-10-21

ThinkPHP5.0完全开发手册.pdf

ThinkPHP5.0完全开发手册.pdfThinkPHP5.0完全开发手册.pdf

2019-10-17

kettle.docx

详细介绍了强大的ETL工具 kettle的使用,从安装到资源库再到各种数据抽取(数据库、文本抽取),以及全量、增量、插入更新等抽取方式。

2019-10-17

ORACLE(10G,11G)官方文档.txt

oracle官方文档,百度网盘连接和提取码oracle官方文档,百度网盘连接和提取码

2019-06-01

正则表达式全部符号解释

正则表达式全部符号解释

2017-08-02

空空如也

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

TA关注的人

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