- 博客(87)
- 收藏
- 关注
原创 pyspark窗口windows
pyspark窗口windows1. 根据滑窗计算统计量from pyspark.sql import Windows, SparkSessionimport pyspark.sql.functions as Fdata = spark.createDataFrame(...)# data.columns = ['A', 'B', 'C', 'D]# 对data按A作groupby分区,然后在每个分区内根据B做排序,并将当前行和前两行作为一个组合,计算每个组合内列C的总和和列D的平均值win=
2022-02-18 22:32:31
1133
原创 python连接hbase
1.happybase访问使用的是thrift,因此必须开启thrift(hbase thrift start)如果hbase-site.xml的hbase.regionserver.thrift.http设置为true,则该方式无法访问。会有No protocol version 的错误# pip install happybase# 官方文档 https://happybase.readthedocs.io/en/latest/api.html#connectionconnection =
2021-06-20 16:51:46
2085
原创 kafka基本操作
0.消息队列(Message queue,MQ)0.0 什么是消息队列?0.1 消息队列的种类0.点对点模式一对一,一个生产者对应一个消费者;消费者主动拉取数据,消息被消费后会被清除;一条消息只会被一个消费者所读取。1.发布-订阅模式一对多,一个生产者对应多个消费者;消息被消费后不会立马被清除,而是间隔一定时长后才会作清除动作。0.2 各类别的优缺点1.kafka中的基本概念生产者消费者消费组brokerpartitionreplicationleaderI
2021-06-14 21:23:01
159
3
原创 PYCHARM连接SPARK的配置
PYCHARM连接SPARK新增环境变量SPARK_HOMEPYSPARK_HOMEPYTHONPATH配置方式pycharm --> run --> edit configurations --> environment -> environment variables --> user environment variables 新增SPARK_HOME、PYSPARK_HOME、PYTHONPATH($SPARK_HOME/python/lib/py4j-
2021-05-24 20:24:07
392
原创 PYTHON调用GPU之HelloWorld
PYTHON调用GPU之HelloWorldimport cv2import numpy as npfrom numba import cudaimport timeimport mathimport os# os.environ['CUDA_VISIBLE_DEVICES'] = "0"@cuda.jitdef process_gpu(img,channels): tx = cuda.blockIdx.x*cuda.blockDim.x + cuda.threadIdx.x
2021-05-16 22:21:22
636
原创 Scala基础
Scala基础1.变量的声明 1.1 变量声明语法val | var 变量名 [:变量类型] = 变量值,如:val age:Int = 123val height = 123.3var weight:Double = 123.3var price:Float = 123.4fvar isTrue:Boolean = true1.var表明变量是可变的,val表明变量是不可变的(与java的final一样);2.scala语法是变量名在前,数据类型在后,与java相反;3.sc
2021-01-02 18:15:30
248
原创 MapReduce之join
1.ReduceJoinBeanimport org.apache.hadoop.io.Writable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;public class OrderBean implements Writable { private String orderId; private String prodId; private int
2020-12-27 17:13:00
323
原创 用WordCount读懂MapReduce框架
1.MapReduce框架介绍2.MapReduce之WordCount代码一个MapReduce代码可以包括以下几个部分MapperPartitionerCombinerReducer自定义类import org.apache.hadoop.io.WritableComparable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;public class WCBe
2020-12-26 20:18:20
160
原创 Hadoop之MapReduce编程
MapReduce编程基础0. MR与Java的数据类型对比MRJavabooleanBooleanWritablebyteByteWritableintIntWritablefloatFloatWritablelongLongWritabledoubleDoubleWritableStringTextmapMapWritablearrayArrayWritable//数据类型所在java包import org
2020-12-13 15:33:23
1507
原创 大数据入门交流
非计算机专业,接触hadoop生态近两年,基本从零开始,期间踩过无数坑,深知这条路的不易。虽说现在仍是大数据小白,但是这两年也积累了一点经验,如能利用这有限的经验帮助到一些刚接触hadoop生态的人,那将甚是开心。 当你在hadoop、spark、hbase、hive、zookeeper、sqoop等组件的安装与使用过程中遇到了问题,可私信我,让我们共同探讨、共同进步。 ...
2020-12-09 21:07:43
297
2
原创 Maven基础
Maven基础Maven与Intellij IDEA的关系Maven是Maven,Intellij IDEA是Intellij IDEA,两者是独立的,但是一般Intellij IDEA内嵌Maven。1. 安装安装地址linux系统选择tar.gz安装包;windows选择zip包下载完后,解压修改配置文件解压路径下有一个conf文件夹,打开settings.xml找到<localRepository>/path/to/local/repo</localRep
2020-12-07 21:12:18
160
原创 Hive基础
Hive的语法基本与mysql相同 ,且同样不区分大小写1.安装apache hive安装教程,安装过程有问题可以留言。2.数据类型Hive数据类型对应java类型TINYINTbyte1byteSMALLINTshort2byteINTint4byteBIGINTlong8byteBOOLEANbooleanFLOATfloatDOUBLEdoubleSTRINGstring单引号或双引号TIM
2020-12-06 16:44:32
245
原创 sqoop基础
sqoop基础sqoop的含义是sql to hadoop,目的是实现关系型数据库与hdaoop之间的数据转换Linux版安装教程1.到清华镜像下载sqoop安装包2.解压以下载的安装包tar -zxvf 安装包路径 -C 解压路径3.修改配置文件...
2020-11-29 22:37:55
315
原创 Hive安装
Hive安装下载hive安装包清华镜像安装地址解压tar -zxvf 安装包路径 -C 解压路径修改配置文件cd 2的解压路径cp hive-env.sh-template hive-env.shvim hive-env.sh#添加export HADOOP_HOME=/home/dong/hadoop/hadoopexport HIVE_CONF_DIR=/home/dong/hadoop/hive/conf添加环境变量export HIVE_HOME=/home
2020-11-28 17:52:55
293
原创 linux下mysql密码忘记解决办法
linux下mysql密码忘记解决办法将停掉mysql服务sudo service mysql stop将mysql切换为免密码登录状态sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf#添加skip-grant-tables重启mysql服务sudo service mysql start进入mysqlmysql -uroot修改密码#直接修改密码如果报#ERROR 1290 (HY000): The MySQL
2020-11-28 15:17:42
116
原创 html入门之简历制作
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> <style type="text/css"> #form1 { width:800px; height:1000px; backgro.
2020-11-28 13:44:31
175
原创 HTML基础
HTMLHTML全称HyperText Markup Language,中文译为超文本标记语言,所有的Web无论以什么语言、什么架构开发,最终其结构都是以html形式呈现。HTML使用标签的形式来标识网页中的不同组成部分,相较于文本,超文本不仅可以保存文字,还能保存图片、音频、视频,其中“超”是指代超链接,使用链接实现不同页面的跳转。超文件标记语言中的标记指的是标签,其作用是用于指定网页呈现的内容的格式,比如呈现的是标题或是内容<!-- 注释标签是成对出现的,用<><
2020-11-21 16:59:11
237
1
原创 JAVA面向对象
JAVA面向对象java类及类成员1.属性2.方法3.构造器4.代码块5.内部类面向对象三大特性1.封装2.继承3.多态关键字1.this2.supper3.static4.final5.abstract6.interface7.package8.import类与对象(实例)实例化的类即为对象//类class Person{ //属性 String name; int age; float weight; float height;
2020-11-08 16:49:42
381
原创 Java通过API操作HBase
java通过API操作HBase依赖包安装<-- 在pom.xml文件里添加以下两个依赖,version版本为对应的hbase版本--><dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version
2020-11-08 16:34:48
255
原创 HBase基础笔记
HBASEhbase特点hbase是一种基于hdfs的NoSQL数据库,弥补了hdfs无法随机写的缺陷。hbase的基本概念命名空间(namespace)hbase没有databse的概念,namespace类似database;hbase自带两个namespace:hbase和default,hbase用户存储hbase的内置表(metadata),default用于存储创建时未指定namespace的表列族(column family)一个或多个列的集合,底层存储时,相同列
2020-11-05 21:48:50
360
1
原创 java学习笔记
JAVA 学习笔记1. HelloWorld//HelloWorld.javaclass HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!"); }}/*1.每个java文件有且只有一个main方法2.每个java文件可以包含多个class,但只能有一个class有main方法3.运行方法 找出java、javac的安装路经 -> 通过cmd切换到安装路经 -
2020-10-11 16:53:09
140
转载 matplotlib显示中文
https://blog.youkuaiyun.com/u010472607/article/details/82789887
2020-06-30 14:57:20
135
原创 C++模板
C++模板1.函数模板(泛型)语法:template<typename T>或template<class T>(T只是个符号,可以换成其它的字符)//假设要实现两数的交换,如果用普通的方法实现,不同数据类型需要定义不同的函数void swapInt(int a,int b){ int temp; temp = a; a = b; ...
2020-04-25 23:21:15
169
原创 C++文件操作
C++文件操作C++对于文件操作需要导入头文件<fstream>操作文件三大类ofstream:写操作ifstream:读操作fstrem:读写操作文件类型文本文件二进制文件文本文件1.写文件步骤1导入头文件#include <fstream>2创建流对象ofstream ofs;3打开文件ofs.open(“文件路...
2020-04-25 20:57:23
243
原创 C++入门笔记
C++入门笔记1.注释单行注释://多行注释:/* 内容 */// 注释一行/* 注 释 很 多 行*/2.数据类型1.整型 int2.短整型 short3.长整型 long4.长长整型 long long5.单精度浮点型 float(保留6位有效数字)6.双精度浮点型 doublt(保留15位有效数字)7.字符型 char8....
2020-04-19 00:20:29
403
原创 大数据面试题整理
算法部分1、给定一个大文件(即无法一次性加载到内存中,以下的大文件均为该定义),每行代表一个访问IP,统计出现次数最多的IP。1)逐行读取数据,并将数据映射(如取模)到N个小文件中;2)以IP为Key,频率为Value,分别统计每个小文件中每个IP出现的次数;3)找出每个小文件中出现次数最多的IP;4)对这N个小文件出现次数最多的IP进行排序,得到最终结果。2、在1的基础上,求...
2020-02-22 22:31:54
556
原创 Spark二次排序、自定义排序
//spark进行二次排序 先按第一列排,相等情况下按第二列排class SecondarySortKey(val first:Int,val second:Int) extends Ordered[SecondarySortKey] with Serializable{ //必须重写compare def compare(other:SecondarySortKey):Int ={...
2020-02-20 17:27:58
391
原创 spark基础
Spark基础0、一个RDD分区对应一个task遇到一个action产生一个job遇到一次shuffle划分一个stage1、RDD的创建从本地文件或HDFS上加载数据val rdd = sc.textFile(文件地址)手动创建val rdd = sc.parallelize(Array(1,2,3,4,5))val rdd = sc.parallelize(Lis...
2020-02-19 22:34:08
142
原创 scala函数基础
scala函数1、函数的定义def 函数名(参数列表):返回值数据类型={函数体}def add(x:Int,y:Int):Int={x + y}val 函数名:(参数类型) => 返回值类型 = {(参数) = > {函数体}}val add:(Int,Int) => Int ={(x,y) => {x + y}}匿名函数/lambda (参...
2020-02-18 22:08:14
119
原创 scala面向对象基础
scala面向对象1、类的定义class 类名{ //变量 val … var … //定义方法 def 方法名(参数) : 返回类型 = {函数体}}2、getter和setter对于类中有var声明的变量(var name:String),scala编译器会直接自动生成其getter和setter方法;val(val name:String)...
2020-02-18 00:04:34
178
原创 scala中的数据结构
scala数据结构1、种类scala的数据结构有:数组Array、元组Tuple、容器Collection、序列Sequence、集合Set、映射Map、迭代器Iterator2、数组创建方式 (创建一个长度为10类型为Int的数组1 val arr = new Array[Int](10) 默认初始化为02 val arr = Array(0,0,0,0,0,0,0...
2020-02-17 21:55:28
999
原创 Git连接GitHub
假设已经在本地装好了git,也创建了GitHub账号1.先在GitHub创建一个仓库2.在本地创建一个新文件夹mkdir gitfilecd gitfile3.使用git init 初始化一个仓库4.初始化个人信息git config --global user.name "github用户名"git config --global user.email "github...
2019-12-27 23:04:55
106
原创 Pyspark 导入第三方包报错
pyspark导入第三方包的方式在spark-submit时添加参数 --py-filesspark-submit --py-files 文件1或py文件1,zip文件2或py文件2(多个文件用,分开)在sparkContext中使用addPyFilesc.addPyFile(“xxxx.zip”)或spark.sparkContext.addFile(“xxx.zip”)报错...
2019-12-13 13:23:48
2196
原创 Spark性能问题及调优方法
Spark性能问题及调优方法1.Spark算子调优最佳实践1.1 使用mapPartitions取代map操作如果在映射过程中需要频繁创建额外的对象,使用mapPartitions要比使用map高效。例1:将RDD中的所有数据通过JDBC连接写入数据库,如果使用map函数,那么每条数据都需要创建一个连接,开销很大;而如果使用mapPartitions,则只需要每个分区创建...
2019-12-02 22:29:38
345
原创 Markdown的基本用法
Markdown语法1.标题一级标题用 ‘#’ + 空格+标题名二级标题用 ‘##’ + 空格+标题名三级四级标题以此类推这是一级标题这是二级标题这是三级标题2.列表无缩进时: ‘*’ + 空格 + 内容123缩进时:‘tab’ + ‘*’ + 空格 + 内容1.11.1.11.1.22.1.13.字体强调(斜体):...
2019-12-01 15:39:56
158
原创 git基本操作
1.git是干嘛用的?git是一个版本管理系统,给个冗长的例子:假如你用word写论文,正常论文需要修改很多遍,当某天你修改时发现,原来上一个版本写的才是对的,修改完反而错了。这时,如果你要回到之前的版本,除非你之前每修改一次就另存为一次,否则之前的版本就丢失了,而修改一次另存为一次又会产生一大丢文件。git就能解决上述这种问题,它能自动记录下每个版本的修改内容,我们仅需要关注于...
2019-10-20 22:21:37
125
原创 kafka扫盲篇
1.kafka是什么?kafka是一个消息中间件,是一种分布式消息发布--订阅系统。它的作用可以通过一个例子来粗略理解:例:有两个角色,生产者---用于生产鸡蛋、消费者---消费鸡蛋,生产者直接把生产的鸡蛋提供给消费者,考虑几个情景: i)如果生产者一单位时间内生产一个鸡蛋,而消费者一单位时间内消费一个鸡蛋,则该过程可以顺利进行; ii)如果生产者生产一个鸡...
2019-10-07 15:16:06
238
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人