自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spark自定义分区器实现

前言:为什么我们要进行自定义分区当spark进行数据处理key-value类型数据时,会遇到数据由于key值的分布不均倾斜的情况,为了使得资源的合理布置我们会进行重分区,根据spark内部提供的分区器 HashPartitioner & RangePartitioner,我们也可以实现自定义不bb了:test case:用如下数据做word count 实现自定义分区hadoop,sparkhivehivesparkhbase,hbasehbasehbase,hbase

2021-11-24 16:09:03 1882

原创 Python Retry回调重试

retry的使用是用于访问其他方法或者接口失败的时候,需要多次重复回调查看具体的使用方法,参数如此之多,选择性使用class Retrying(object): def __init__(self, stop=None, wait=None, stop_max_attempt_number=None, stop_max_delay=None, wait_fi

2022-05-07 16:46:11 1562

原创 Python Class

关键字1:selfself指代 类的实例化 而不是类本身class Test: def prt(self): print(self) print(self.__class__)t = Test()t.prt()result:<main.Test object at 0x106274128><class ‘main.Test’>由打印结果知道 第一个为实例化地址值,第二个打印指代类本身关键字2:passpass 指代

2022-05-07 01:34:38 381

原创 Docker启动Oracle for Mac

一.##查看正在运行+历史运行过的容器docker ps -axianwangfudeMacBook-Air:~ brandonxian$ docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS

2021-12-27 21:05:07 655

原创 sparkstreaming中有状态计算之updateStateByKey

一. sparkstreaming流式处理中也分为有状态计算及无状态计算无状态是指: 数据不保留之前批次计算的结果,每次的结算结果不相互依赖。有状态是指:当前批次的处理结果和之前批次处理进行更新或汇集。主要讲算子updateStateByKey先看方法:` def updateStateByKey[S: ClassTag]( updateFunc: (Seq[V], Option[S]) => Option[S] ): DStream[(K, S)] = ssc.wit

2021-10-31 14:22:22 625

原创 spark核数以及分区分配使用测试

一. 在开始之前先熟悉几个相关的概念Executor由若干core组成,每个Executor的每个core一次只能执行一个Task每个Task执行的结果就是生成目标RDD的一个partiton换言之task数partition数是对应起来的,但是是rdd的分区数目决定了总的task数目这里的core是虚拟的core而不是机器的物理CPU核,可以理解为就是Executor的一个工作线程。3. task被执行的并发度 = Executor数目 * 每个Executor核数(=core总个数)注

2021-10-29 12:51:56 1151

原创 SpringBoot项目构建

springboot项目简单构建流程:idea构建maven项目添加pom依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.0</version> </par

2021-09-21 10:57:11 95

原创 Hive的UDF

在Hive

2021-08-29 11:35:55 113

原创 CMD/BAT 编写记录

一. setset /p 用于赋值 eg:将文本1.txt 的第一行数据 赋值给变量 aset /p a=<1.txt echo %a%set /a 用于计算 eg:如果直接打印%car% 结果将会是 : 2*3set /a car= 2*3echo %car%二. for 循环参照:https://www.cnblogs.com/gered/p/10682741.html#autoid-4-0-0循环读取文件中的多行内容for /f "delims=, tok

2020-12-25 15:27:43 152

原创 Oracle 动态游标测试

语法逻辑:open [cursor] for [query_code] for [para1,para2…]下文中的例子:=2 就是第一个参数名;-- Created on 12/18/2020 by BRANDONXIAN declare type c_refcur is ref cursor; c_data c_refcur; l_str varchar2(100):='select 1 ids fr

2020-12-18 15:08:15 118

原创 oracle的rowtype类型配合游标插入引用示例

declare type rowt_test is table of sf_org%rowtype index by binary_integer ;t_tab rowt_test;tcount number;cursor c_name(parents in number) is select org_id,org_name,parent_id from sf_org where parent_id =parents;begin t_tab.delete;for i i.

2020-10-28 22:33:45 296

原创 Oracle的package用法测试

oralce的package由 包头和包体构成;包头声明要做的事情,包体做具体的实现,话不多说直接上代码:create or replace package pkg_firste_test as procedure p_update_lable(v_id in number);function addid(x in number,y in number) return number ;end ;-- -----------------------------------------

2020-10-17 12:29:48 958

原创 Mysql改变数据集编码(windows+Mac)

windows:进入mysql查看字符编码:show variables like "%char%";一般来说是 databases 和server 两项是lantin1的编码集修改mysql的字符集: mysql> set character_set_client=utf8; mysql> set character_set_connection=utf8; mysql> set character_set_d.

2020-09-10 09:33:45 122

原创 Oracle存储过程使用游标,循环,和执行 EXECUTE IMMEDIATE 赋值变量用法

一. 需求: 每天循环更新表的数据量create or replace PROCEDURE TEST /*作者:盈欢时间:2020/08/21*/AS COUNTS NUMBER ;SQLMSG VARCHAR2(100); CURSOR COR_LIST_STG IS SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER ='STG'; CURSOR COR_LIST_ODS IS SELECT TABLE_NAME FROM ALL

2020-09-01 17:33:32 1718

原创 SourceTree的简单使用

创建远程仓库直接在git上创建一个仓库,不再赘述打开sourcetree 选择 克隆选择上git地址,和本地库初始化位置此时本地初始化的地址没有文件,然后暂存所有,提交注释 ,然后直接提交在本地将项目加进去,复制粘贴即可然后推送 到指定的分支,点点点 就完事了去git上查看成功!...

2020-08-25 09:50:11 81

原创 Scala进行的JDBC操作

Scala的操作和Java的操作大同小异:import java.sql.{Connection, DriverManager, PreparedStatement, ResultSet}object JdbcHelper { // 此处不建议使用硬编码,最好是写在专门的常量接口中或者配置文件中,此处是为了方便 val sqlUrl = "jdbc:mysql://localhost:3306/test" val user = "root" val password = "12345

2020-08-19 10:06:33 1265

原创 Scala算子读码释义(持续更新ing)

1. foldLeft查看源码: def foldLeft[B](z: B)(op: (B, A) => B): B = { var result = z this.seq foreach (x => result = op(result, x)) result }此处解析:入参为两个 (z: B) 和 op: (B, A) => B 即: 一个任意类型的 z 和 一个匿名函数 op再看将 z赋值给 result 并传进了 op的匿名函数

2020-08-14 18:06:59 147

原创 Spark的流式处理数据中使用case class 封装为对象以及简单的黑名单过滤情况

一.因为作者比较懒,这里没有做流式的数据接入,所以采用sparkcore的方式进行编码,使用者需要在真实环境中注意1) 数据的接入的改变,如 kafka集成sparkstreaming接入2) 黑名单过滤时候,应该是dstream作为输入,想要进行rdd操作需要使用transform算子,本文无法展示import java.util.Propertiesimport com.alibaba.fastjson. JSONObjectimport org.apache.spark.rdd.RDD

2020-08-14 14:15:35 700

原创 Shell语法学习记录

Shell的语法学习:创建一个测试文本:vi test.sh一. 简单Helloword#!/bin/bashecho "Hello World !"执行输出 Helloword!二.for循环#!/bin/bashecho "Hello World !"#循环输出 一串数字for var in 1 2 3 5 6doecho "the code is : $var"done#输出某个文件路径下的所有文件dirs=$(ls /opt/moduls/)for file

2020-08-05 15:20:23 130

原创 使用FastJson做数据类型转换

因为工作中会经常用到json数据和对象,集合,map,以及字符串之间的转换,因此做好一个总结引入一个fastjosn的依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</vers

2020-08-04 14:00:06 1764

原创 初识SpringBoot

一. Idea构建一个springboot项目1)2)3) 将红标的后缀改为yml同时将连接数据库进行配置:spring: datasource: ##driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test

2020-07-31 10:48:20 112

原创 Delete删除使用exists做筛选操作

DELETE FROM TMP_VLOAN_CLIENT_INVITECODE A WHERE EXISTS (SELECT 1 FROM (SELECT LOGINID,COUNT(1) FROM TMP_VLOAN_CLIENT_INVITECODE GROUP BY LOGINID HAVING COUNT(1)>1 ) B WHERE A.LOGINID=B.LOGINID ) AND A.NAME IS NULL ;解释:delete from中 exist 和 and 和

2020-07-23 11:31:27 8131

原创 Python读取excel和连接Mysql数据库

前言:本文开始是第一次使用python进行测试相关功能,因工作需要进行尝试环境: Py3.6.5 工具: Pycharm一 读取 excel数据 :通过pycharm 安装相关的库 见下图路径进行pycharm进行读取excel数据:import pandas as pd#方法二:通过指定表单名的方式来读取df=pd.read_excel('C:\\Users\\Administrator\\Downloads\\ks.xlsx')#可以通过sheet_name来指定读取的表单d

2020-07-23 10:14:43 764 1

原创 Oracle关于不能直接使用序列到insert select的问题

问题:当我想将oracle表的数据某个字段附上自增id的并插入到某个表中时候,我进行了如下的操作:INSERT INTO STG_DICT(ID,STG_TABNAME)select SEQ_STG_DICT.NEXTVAL ID,STG_TABNAME FROM USER_TABLES WHERE TABLE_NAME NOT IN('STG_DICT','CODE','TMP_DIFF') ORDER BY TABLE_NAME;发现此时出现报错,单独执行查询的sql也是一样

2020-07-13 15:26:14 1090

原创 Hadoop原理学习

一.目前 1TB的数据,传输速度是100MB/s,单独去读出这份数据需要花费2个多小时的时间,这已经就相当的耗时,且只是1TB的数据那么 设想 有 100台机器存100份数据进行同时读写,那么我们可以在2min以内就完成了读写,但是问题又来了,作为分析来讲,从一个磁盘读出的数据常常需要和其他的99个盘独处的数据合并使用,比如,排序,统计。 Hadoop就提供了这个功能,其存储依赖于 HDFS,分析计算依赖于 MapReduceMapreduce:MapReduce程序本质上是并行运行的,因此可以将

2020-07-08 11:42:08 205

原创 Spark如何遍历Rdd中的元素

通常我们Spark程序处理数据时,会遇到将rdd的数据进行观察的情况,但是RDD[String]类型又不能直接打印出来结果,或者说有遇到需要将rdd中的结果数据取出作为变量继续计算的情况。1) 使用 collect 函数从collect函数解释来看,知道collect的返回类型是一个数组,可以通过下标或.collect.mkstring("") 这样的方式浏览数据但是 collect是将数据拉取到driver端,数据量太大的话,可能会报内存溢出的问题,而且,在driver端的数据work.

2020-07-02 14:03:18 5504

原创 Sqoop连接以及测试数据抽取

一. 连接1)在自己的虚拟机上安装并配置好好 sqoop2) 启动zookeeper bin/zkServer.sh start3) 测试sqoop连接本机(虚拟机)上的mysql是否连接有效sqoop list-databases --connect jdbc:mysql://localhost:3306/ --username root --password Abc1234!4). 测试sqoop连接本地机器发现发错连接不上:sqoop list-databases --connec

2020-06-30 14:40:16 989

原创 Hive分区表基础学习

创建分区表 按年月分区:create table if not exists p_test(id int ,name string )partitioned by (year string,month string)row format delimited fields terminated by '\t';此时查看hdfs的目录 只能发现有p_test的表名,没有分区内的情况,说明需要添加分区或者添加数据;测试添加分区:alter table p_test add parti.

2020-06-28 18:07:29 181

原创 Hive外部表使用创建以及删除测试

简述:Hive外部表会在指定的路径处创建数据目录(hdfs),在所建的hive库中仍保留表名,但是在hdfs中是看不见的; 外部表的查询可以通过所建库下直接查询与内部表无异,跨库则需加上库名;删除表是删不掉数据的,删除的只是元数据,当给数据附上字段,表名重新创建后还是能直接访问数据。实例:create external table external_test (id int, name string) row format delimited fields terminated by '\t'

2020-06-23 17:11:44 749

翻译 记一次Scala调用公接口入参经纬度来获得中文位置信息

pom文件加入依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4</version> </dependency> <dependenc.

2020-05-22 11:47:38 237

原创 记录一次在Mac中Sqoop安装和配置

1.将下载好的tar包解压到指定位置2.配置环境变量vi ~/.bash_profile添加如下两行(自定义路径)使用 sqoop version 进行验证3.配置sqoop的conf添加hadoop和hive的路径 打开sqoop安装目录下的confcp sqoop-env-template.sh sqoop-env.shvi sqoop-env.sh 添加如下路径3)将mysql的驱动包放到sqoop下的lib目录下(这个命令是根据自己路径设定进行复制,使用者根据自己设

2020-05-14 22:51:11 270

原创 Spark中使用fastjson解析json字符串为DF

1)数据准备 一个多层嵌套json,数据文本名字为data.txt{"error":200,"msg":null,"lsk":{"tags":{"150":12,"151":0,"152":0,"153":0,"154":0,"110":0,"111":0,"112":1,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":3,"161":...

2020-04-27 08:50:12 1369

翻译 Kafka的生产和消费简单代码示例

开启zookeeper服务在 zk目录下执行 bin/zhServer.sh start , 再在kafka目录下开启服务 执行 bin/kafka-server-start.sh -daemon config/server0.properties (最后的文件名如果更改自行选择)jps 命令查看服务是否开启操作创建topic示例,java代码生产者public class Pr...

2020-04-23 16:24:28 745

原创 Oracle存储过程使用循环写数据

针对oracle数据库做数据迁移或者定时任务时,会存在一些字段多,数据量大的情况,使用单单使用 insert into …select 语句有可能会导致运行时间长,且运行不成功的情况1) 选择字段使用 游标进行分组,将数据分为 x 份(依据分组而定)2) ...

2020-04-17 23:32:50 1315

空空如也

空空如也

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

TA关注的人

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