自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(119)
  • 资源 (2)
  • 收藏
  • 关注

原创 flink get_json

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/mav

2021-07-09 07:05:59 510

原创 二叉树的前序中序后序遍历

package datastructure.treeclass Node[A] { private var _data: A = _ def data: A = _data def data_=(value: A): Unit = { _data = value } private var _left: Node[A] = _ def left: Node[A] = _left def left_=(value: Node[A]): Unit = {

2021-06-30 21:08:03 214

原创 前缀表达式转后缀表达式-->逆波兰计算器

package datastructure.stackimport scala.collection.mutableimport scala.collection.mutable.ArrayBufferobject PolandNotation { def main(args: Array[String]): Unit = { val exp_ = "10+((20+30)*40)-50" val expArr = toInfixArr(exp_) println("前

2021-06-23 23:32:57 327

原创 scala使用数组模拟栈,使用栈模拟计算器运算

package datastructure.stackimport java.util.Scannerimport scala.reflect.ClassTag/** * 使用数组模拟栈 */class ArrayStack[T: ClassTag]() { private var maxSize: Int = _ private var top: Int = -1 //栈顶 private var stack: Array[T] = _ //数组模拟栈存放数据 def t

2021-06-20 20:02:43 148

原创 java单向环形链表解决约瑟夫环问题

package datastructure.linkedListimport scala.util.control.Breaksclass Boy(private var no: Int ){ def getNo: Int = this.no def setNo(no: Int): Unit = { this.no=no } //next域 private var next : Boy = _ def getNext: Boy = this.next def se

2021-06-20 11:37:03 117

原创 java双向链表

package datastructure.linkedListimport scala.util.control.Breaksclass DoubleLinkedList { //先初始化一个头节点 private val head = new HeroNode2(0,"","") /** * 展示双向链表 */ def show(): Unit = { if(head.next == null){ println("链表为空") ret

2021-06-20 10:36:06 91

原创 java单向链表

package datastructure.linkedListimport scala.util.control.Breaksclass HeroNode{ var no: Int = _ var name: String = _ var nickName: String = _ var next: HeroNode = _ //指向下一个结点 def this(hNo: Int, name: String,nick: String) = { this() th

2021-06-19 20:43:07 143

原创 数组模拟环形队列

package datastructure.queueimport java.util.Scannerimport scala.reflect.ClassTagclass ArrayQueue[T: ClassTag] extends java.io.Serializable with java.lang.Cloneable { private var maxSize: Int = _ //队列最大容量 //front 变量的含义做一个调整: front 就指向队列的第一个元素, 也就

2021-06-19 18:07:26 101

原创 二维数组和稀疏数组之间的转换

object SparseArray { def getSparseArray(arr: Array[Array[Int]]): Array[Array[Int]] = { //将二维数组转换成稀疏数组 //1.遍历二维数组得到非零的数的和 var sum = 0 for (elem <- arr) { for (e <- elem) { if(e != 0) sum+=1 } } //2.创建对应的

2021-06-19 12:27:41 102

原创 shell字符串截取

变量:起始下标:长度%%%

2021-03-22 15:42:27 101

原创 英雄联盟对战,为求公平需要选取两组分值相差最低的队伍

一.分析两组分值相差最低的,也就是说一个数组分成两个子集,其子集和的差值最小可以换成背包问题,即从数组中选取一半的数作为子集,让这些子集的和与原来总和的一半越接近即可从中选取与一半的总和最接近的一个子集(即需要排序)二.代码如下object TestLm extends App { import scala.io.StdIn //输入 println("请输入10个数字,以空格区分:") val line = StdIn.readLine() //对输入切割成数组并且转为

2020-12-15 21:25:00 310

原创 特征重要性评估

文章目录1.数据2.RFECV评估3.GBDT评估1.数据user_interested,user_id,event_id,user_locale,user_gender,user_age,user_time_zone,user_member_days,user_friend_count,user_invite_ahead_days,user_had_event_count,user_invited_event_count,user_attended_event_count,user_not_atten

2020-12-04 20:34:08 1014 2

原创 使用python读取excel文件并且执行相关操作

# -*- coding = utf-8 -*-#@Time: 2020/12/01 22:42#@Author: sun_0128#@File: test.py#@Software: #@Descriptionimport xlrdimport os#获取目录下所有的文件def listdir(path, list_name): #传入存储的list for file in os.listdir(path): file_path = os.path.join(

2020-12-01 23:25:45 445

原创 hive使用遇到的一些需求解决

文章目录1.将某一列整数数字5展开成5个12.将所有标点符号替换成空字符(输入时候可能有些一场符号需要清洗)->正则表达式`\\pP\\pS`1.将某一列整数数字5展开成5个1select * from (select explode(split(repeat(1,5),"")) as a) t1 where t1.a!="";效果如下:hive (default)> select * from (select explode(split(repeat(1,5),"")) as a) t

2020-11-25 21:02:01 234

原创 hive 分页实现

1.支持limit n,m语法的hive版本#!/bin/bashcnt=$(set hive.cli.print.header=false;hive -e "select count(*) from exam.userbehavior;")echo "总记录数: $cnt 条"#每页10条pageSize=10pageNum=`expr $cnt + $pageSize - 1 / $pageSize`echo "总页数: $pageNum 页"for((a=0;a<=$pa

2020-11-23 21:16:37 3029

原创 算法练习-KNN分类预测

#导入需要的包import numpy as npimport pandas as pd#读取文件data = pd.read_csv("./iris.csv")#清洗数据,将Species列转化为数字data["Species"] = data["Species"].map({"virginica":0,"setosa":1,"versicolor":2})#删除Id列并替换data中的数据data.drop("Id",axis=1,inplace=True)#删除重复行并替换data

2020-09-16 10:36:19 980

原创 大数据常见面试之算法

文章目录一.海量数据处理1.给一个超过100G大小log file ,log中存着IP地址,设计算法找到出现次数最多的IP地址2.与上题条件相同,如何找到top k的IP?3.给定100亿个整数,设计算法找到只出现一次的整数4.给两个文件,分别由100亿个query,我们只有1G内存,如何找到两个文件交集分别给出精确算法和近似算法5.如何扩展BloomFilter使得它支持删除元素的操作?6.给上千个文件,每个文件大小为1K-100M,给n个词,设计算法对每个词找到包含他的文件,只有100K内存7.有一个词

2020-09-14 14:43:25 750

原创 大数据常见面试题之hive

文章目录一.描述一下Hive动态分区和分桶使用场景和使用方法1.分区2.分桶二.Hive是怎么集成HBase三.Hive join查询的时候on和where有什么区别四.Hive里面的left join是怎么执行的?五.Hive内部表,外部表,分区表六.Hive和mysql有什么区别,大数据为什么不用MySQL做存储和数据处理?七.Hive如何调优八.Hive数据倾斜原因和处理?九.Hive的自定义函数实现了什么接口什么方法?十.使用Hive-sql如何查询A表中B表不存在的数据?十一.如何控制Hive中M

2020-09-13 19:50:38 719

原创 大数据常见面试题之MapReduce

文章目录一.MapReduce的执行流程二.MapReduce写过吗?有哪些关键类?mapper的方法有哪些?setup方法是干嘛的?它是每读一行数据就调用一次这个方法吗?1.关键类2.mapper的方法有setup,map,cleanup,run三.有个需求,要求一条指令可以把所有文件都shuffle到同一partition中,用MapReduce的话,你怎么写?四.Hadoop Shuffle原理(越详细越好)?五.combine函数的作用?六.简列几条MapReduce的调优方法1.数据输入2.Map

2020-09-13 18:03:45 1506

原创 大数据常见面试题之HBase

一.为什么使用HBase存储HBase(Hadoop Database) 是一个靠可靠性,高性能,可伸缩,面向列的分布式数据库HBase与Hadoop的关系非常紧密,Hadoop的hdfs提供了高可靠性的底层存储支持,Hadoop MapReduce 为 HBase提供了高性能的计算能力,zookeeper为Hbase提供了稳定性及failover机制的保障. 同时其他周边产品诸如Hive可以与HBase相结合使在HBase进行数据统计处理变得简单,Sqoop为HBase提供了方便的RDBMS数据导入

2020-09-13 11:40:04 561

原创 大数据常见面试题之hdfs

一hdfs.写数据流程1.客户端通过Distributed FileSystem模块向NameNode请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。2.NameNode返回是否可以上传。不能上传会返回异常。3.确定可以上传,客户端请求第一个block上传到哪几个datanode服务器上。4.NameNode返回3个datanode节点,假定分别为dn1,dn2,dn3。5.客户端通过FSDataOutputStream模块请求dn1上传数据,dn1收到请求会继续调用dn

2020-09-13 10:52:21 1382

原创 数据仓库经典销售案例

文章目录一、业务库1.1 数据模型1.2生成数据二、数据仓库2.1 模型搭建2.1.1 选择业务流程2.1.2 粒度2.1.3 确认维度2.1.4 确认事实2.1.4.1 建立物理模型2.1.4.2 建库、装载数据三.编写脚本配合 crontab 命令实现 ETL 自动化一、业务库1.1 数据模型源系统是 mysql 库,数据模型如下1.2生成数据-- 建库CREATE DATABASE IF NOT EXISTS sales_source DEFAULT CHARSET utf8 COL

2020-09-03 16:12:59 2269

原创 数据仓库理论介绍

文章目录一.数据仓库1.什么是数据仓库1)面向主题2)集成3)非易失4)随时间变化二.数据仓库和数据库的区别三.数据仓库的架构四.数据仓库的建模1.选择业务流程2.声明粒度3.确认维度4.确认事实5.星型模型特点6.雪花模型特点一.数据仓库1.什么是数据仓库数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合1)面向主题主题(Subject)是在较高层次上将企业信息系统中的数据进行综合、归类和分析利用的一个抽象概念每一个主题基本对应一个宏观的分析领域在逻辑意义上,它是对应企业

2020-09-01 12:57:34 417

原创 记录kettle无法连接hive表异常

问题描述:使用kettle连接hive2服务时遇到异常错误连接数据库 [hive_default] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the databaseError connecting to database: (using class org.apache.hive.jdbc.HiveDriver)Illegal Hadoo

2020-09-01 07:14:46 1102

原创 PySpark架构及 Jupyter Notebook集成环境搭建

文章目录一.在Linux上安装Anaconda二.PySpark简介三.案例1.数据探索:统计寿命预期数据的整体数据信息2.Spark与Python第三方库混用3.使用PySpark通过图形进行数据探索一.在Linux上安装Anaconda下载Anacondahttps://www.anaconda.com/distribution/命令安装Anaconda,除了vscode选择no其他都选择yesbash Anaconda3-5.1.0-Linux-x86_64.sh#spark集成#安

2020-08-31 09:56:42 597

原创 Python数据爬取

文章目录数据爬取介绍1.数据采集2.常用数据爬取工具二.Scrapy爬虫框架1.安装配置Scrapy框架2.Debug爬虫工程3.Scrapy框架组成4.Scrapy返回爬取页面数据5.爬取动态网页6.网站反爬虫数据爬取介绍1.数据采集数据来源从网上爬取数据(crawling)从本地系统收集数据(scraping):文件、数据库等网络数据采集模型2.常用数据爬取工具第三方库实现爬取Requests、lxml:灵活,简单PySpider爬虫框架提供WebUI界面编写及管理爬虫

2020-08-26 18:51:27 3185

原创 Python基础及函数

一.python函数1.内置函数内置函数无需导包即可使用的函数不同版本的Python内置函数可能略有不同之前已经接触过的内置函数type()、dir()、input()、print()、id()各版本内置函数和使用方法参考文档https://docs.python.org/zh-cn/3/library/functions.html2.自定义函数定义函数def func_name(参数列表): 函数体 [return/yield 函数返回值] Pytho

2020-08-25 16:12:19 245

原创 Python环境搭建及Python数据类型

下载Anaconda在官网上下载安装包https://www.anaconda.com/distribution/命令安装AnacondaAnaconda3-5.1.0-Windows-x86_64.exe配置环境变量配置代码提示运行Python自带Demo启动演示示例python –m turtledemo使用方法示例代码执行效果Python的工程结构Python工程结构模块(module)一个Python文件就是一个模块.py source code.pyc com

2020-08-24 18:30:54 319

原创 使用python爬取豆瓣电影top250相关信息

# -*- coding = utf-8 -*-# @Time: 2020/08/22 16:04# @Author: sun_0128# @File: spider.py# @Software: PyCharmfrom bs4 import BeautifulSoup #网页解析 获取数据import re #正则表达式,进行文字匹配import urllib.request,urllib.error#指定url 获取网页数据import xlwt #进行excel操作import

2020-08-22 22:48:58 515

原创 大数据常见面试题之kafka

1

2020-08-21 17:06:13 510

原创 基于Spark Streaming 的流数据处理和分析

一.流介绍1.流是什么数据流数据的流入数据的处理数据的流出随处可见的数据流电商网站、日志服务器、社交网络和交通监控产生的大量实时数据流处理是一种允许用户在接收到的数据后的短时间内快速查询连续数据流和检测条件的技术2.为什么需要流处理它能够更快地提供洞察力,通常在毫秒到秒之间大部分数据的产生过程都是一个永无止境的事件流要进行批处理,需要存储它,在某个时间停止数据收集,并处理数据流处理适合时间序列数据和检测模式随时间推移3.流处理应用场景股市监控交通监控计算

2020-08-20 12:14:37 1438

原创 Kafka核心原理

为什么使用消息中间件异步调用同步变异步应用解耦/可扩展性提供基于数据的接口层流量削峰缓解瞬时高流量压力可恢复性顺序保障消息中间件工作模式点对点模式:一对一,消费者主动拉取数据发布订阅模式一对多,数据生产后,推送给所有订阅者消息中间件中的术语Broker:消息服务器,提供核心服务Producer:消息生产者Consumer:消息消费者Topic:主题,发布订阅模式下的消息统一汇集地Queue:队列,点对点模式下的消息队列Apache KafkaKafka是一种高吞吐量

2020-08-19 09:55:06 199

原创 大数据常见面试题之flume

一.flume组成和事务flume组成为source channel sink 事务包含put事务 take事务常用的source channeltaildir source: 断点续传,多目录. flume1.6以前需要自己自定义source记录每次读取文件位置,实现断点续传file channel: 数据存储在磁盘,宕机数据可以保存.但是传输速率慢.适合对数据传输可靠性要求高的场景,比如金融行业memory channel: 数据存储在内存中,宕机数据丢失.传输速率快.适合对数据传输可靠性

2020-08-18 08:48:04 224

原创 Flume日志收集

文章目录一.Apache Flume简介二.Flume架构三.Source1.exec source2.spooling directory source3.http source4.avro source5.taildir source更多案例参考官方文档四.Channel五.Sink1.avro sink2.HDFS sink3.Hive sink六.多层代理(拓扑结构)七.Flume Sink组八.拦截器(Interceptors)一.Apache Flume简介Flume用于将多种来源的日志以流

2020-08-17 13:20:47 579 1

原创 spark sql 之 DSL风格 练习mysql50题

Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 2.2.0 /_/Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_221)Type in expressions to ha.

2020-08-16 15:41:59 3032 1

原创 Spark数据分析及处理

用例1:数据清洗读入日志文件并转化为RDD[Row]类型按照Tab切割数据过滤掉字段数量少于8个的对数据进行清洗按照第一列和第二列对数据进行去重过滤掉状态码非200过滤掉event_time为空的数据将url按照”&”以及”=”切割保存数据将数据写入mysql表中日志拆分字段:event_timeurlmethodstatussipuser_uipaction_prependaction_client用例2:用户留存分析计算用户的次日留存率求当

2020-08-15 14:47:04 4931

原创 大数据常见面试题之Spark Streaming

一.SparkStreaming有哪几种方式消费kafka中的数据,他们之间的区别是什么?1.基于Receiver的方式这种方式使用Receiver来获取数据.Receiver是使用kafka的高层次Consumer API来实现的.reveiver从kafka中获取的数据都是存储在spark executor的内存中的(如果突然数据暴增,大量batch堆积,很容易出现内存溢出的问题),然后spark streaming启动的job会去处理哪些数据然而,在默认的配置下,这种方式可能会因为底层的失败而

2020-08-13 20:03:23 2167

原创 Spark SQL精华 及与Hive的集成

SQL on HadoopSQL是一种传统的用来进行数据分析的标准Hive是原始的SQL-on-Hadoop解决方案Impala:和Hive一样,提供了一种可以针对已有Hadoop数据编写SQL查询的方法Presto:类似于Impala,未被主要供应商支持Shark:Spark SQL的前身,设计目标是作为Hive的补充Phoenix:基于HBase的开源SQL查询引擎Spark SQL前身Shark的初衷:让Hive运行在Spark之上是对Hive的改造,继承了大量Hive代码,给优化和

2020-08-13 12:16:14 460

原创 spark sql练习

文章目录一、环境要求二、数据描述三、功能要求(要求使用分别使用 RDD 和 Spark SQL 两种方式实现)1、农产品市场个数统计2、农产品种类统计3、价格区间统计,计算山西省每种农产品的价格波动趋势,即计算每天价格均值,并将结果输出到控制台上一、环境要求Hadoop+Hive+Spark+HBase 开发环境。二、数据描述1、数据背景该数据每日进行采集汇总。数据范围涵盖全国主要省份(港澳台、西藏、海南暂无数据)的 180+的大型农产品批发市场,380+的农产品品类(由于季节性和地域性等特

2020-08-12 18:52:41 2438 1

原创 大数据常见面试题之spark sql

一.创建DataSet的几种方式

2020-08-11 13:50:49 2301

ip地址范围对应转换表

使用纯真工具下载最新ip地址转换 然后将txt文件上传到linux系统 导入spark中,使用spark连接mysql 将表保存到mysql中 然后将表导出sql脚本文件

2020-08-17

MobaXterm.11.0.zip

mobaXterm11.0版本 是一款小巧便捷的绿色软件 用于连接虚拟机,可用于本地和虚拟机之间数据传输

2020-06-16

空空如也

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

TA关注的人

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