beautiful_huang的博客

私信 关注
beautiful_huang
码龄1年

万般皆苦 唯有自度

  • 49,873
    被访问量
  • 135
    原创文章
  • 53,230
    作者排名
  • 62
    粉丝数量
  • 于 2019-11-15 加入CSDN
获得成就
  • 获得165次点赞
  • 内容获得17次评论
  • 获得150次收藏
荣誉勋章
兴趣领域
  • #大数据
    #hive#spark#数据仓库#hadoop
TA的专栏
  • Spark
    31篇
  • maxcompute
    3篇
  • Java
    12篇
  • 机器学习
    1篇
  • BI
    1篇
  • Mysql
    6篇
  • ACP
    1篇
  • Hive
    13篇
  • Flink
    1篇
  • Linux
    12篇
  • Oozie
    2篇
  • kafka
    15篇
  • Idea
    3篇
  • hbase
    7篇
  • Flume
    2篇
  • Python
    8篇
  • Hadoop
    27篇
  • 阿里云ACA
    1篇
  • Scala
    8篇
  • Shell
    3篇
  • sqoop
    1篇
  • zookeeper
    1篇
  • Nosql
    1篇
  • FileSplit
    1篇
  • elasticsearch
    3篇
  • Spring Boot
    1篇
  • Redis
    1篇
  • elasticsearch-head-master
    1篇
  • 排序
    1篇
  • Docker
    1篇
  • Tomcat
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

【MaxCompute】MaxCompute 处理复杂json、json数组

json数组数据样例:[{"date":"2016-09-24","period":1,"custom_dimension":"","term_type_id":14}]GET_JSON_OBJECT 函数:SELECT GET_JSON_OBJECT(name_tmp,'$.date') FROM ( SELECT regexp_replace(regexp_replace(regexp_replace(json_str,'^\\[',
原创
299阅读
0评论
1点赞
发布博客于 6 月前

【Java】职场软技能,分割提取pdf文件,从此告别WPS会员

需求:需要华南、华东、西南区三个文件夹中的 7-12 页的报表信息样例:jar包<!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <vers
原创
56阅读
0评论
0点赞
发布博客于 7 月前

【机器学习】机器学习进阶之旅(一)

<h2>1.数学</h2>数学是学不完的,也没有几个人能像博士一样扎实地学好数学基础,入门人工智能领域,其实只需要掌握必要的基础知识就好。AI的数学基础最主要是高等数学、线性代数、概率论与数理统计三门课程,这三门课程是本科必修的。这里整理了一个简易的数学入门文章。数学基础:高等数学 https://zhuanlan.zhihu.com/p/36311622数学基础:线性代数 https://zhuanlan.zhihu.com/p/36584206数学基础...
原创
618阅读
0评论
0点赞
发布博客于 7 月前

【MaxCompute】MaxCompute SQL with as 语句

COMMON TABLE EXPRESSION(CTE)MaxCompute支持SQL标准的CTE,提高SQL语句的可读性与执行效率。命令格式:WITH cte_name AS ( cte_query ) [,cte_name2 AS ( cte_query2 ) ,……]参数说明:cte_name:CTE的名称,不能与当前WITH子句中的其他CTE的名称相同。查询中任何使用到cte_name标识符
原创
255阅读
0评论
0点赞
发布博客于 8 月前

【MaxCompute】实现自定义UDF、UDTF详解

背景及目的本文简单地介绍了一下如何新建工程,添加代码,打包,上传资源包和注册方法,对初次接触的用户提供帮助。另外,详解介绍通过UDF来满足不同的计算需求。UDF 开发流程如下:UDF概述UDF全称为User Defined Function,即用户自定义函数。MaxCompute提供很多内建函数来满足您的计算需求,同时您还可以通过创建自定义函数来满足不同的计算需求。UDF在使用上与普通的 内建函数类似,Java和MaxCompute的数据类型的对应关系,请参见 参数与返回值类型。如果您使用Mav
原创
1500阅读
0评论
2点赞
发布博客于 8 月前

【Qucik BI】查询控件详解,分分钟成为数据分析师

情景再现:现在有某大型连锁超市的一整年的经营数据,分析师要将这些数据以一张报表的形式呈现给不同的人来看,分别是公司的CXO,业务线的管理者还有一线的业务人员。显然,这些人关注的核心数据是不一样的。CXO作为公司的决策层,会关注这个连锁超市整体的经营业绩还有重点业务的经营分析,为整个公司的日常决策找到数据化支持; 而业务线的管理者,往往就会关注他所负责的这个业务整体的经营业绩和完成情况,希望通过对业务的日常经营监控和分析来指导下一阶段的运营动作。那么如何在一张报表中有针对性地输出不同的数据内容呢?做多个报表
原创
90阅读
0评论
0点赞
发布博客于 8 月前

【Mysql】Mysql 入门详解(一)

MySQL 一直是本人很薄弱的部分,后面会多输出 MySQL 的文章贡献给大家,毕竟 MySQL 涉及到数据存储、锁、磁盘寻道、分页等操作系统概念,而且互联网对 MySQL 的注重程度是不言而喻的,后面要加紧对 MySQL 的研究。写的如果不好,还请大家见谅。非关系型数据库和关系型数据库区别,优势比较非关系型数据库(感觉翻译不是很准确)称为 NoSQL,也就是 Not Only SQL,不仅仅是 SQL。非关系型数据库不需要写一些复杂的 SQL 语句,其内部存储方式是以 key-value 的形式.
原创
135阅读
2评论
1点赞
发布博客于 9 月前

【ACP】阿里云ACP吐血汇总(一)

文章目录一、大数据基础知识小结(1)数据分析(2)数据仓库系统(3)数据仓库解决的问题(4)大数据的理解二、阿里云大数据产品体系(1)产品体系概况:(2)阿里云数加平台定位:(3)阿里云大数据基础产品:(4)阿里云数加平台:三、大数据产品典型应用场景(1)从业务系统到数据分析(2)传统企业BI应用(3)探索式分析(4)商业智能分析(5)线上线下混合运用一、大数据基础知识小结(1)数据分析数据分析是基于商业目的,有目的的进行收集、整理、加工和分析数据,提炼有价值信息的过程。数据分析通俗的说就是对收集起来
原创
511阅读
0评论
1点赞
发布博客于 9 月前

【Hive】数仓建设之拉链表

全文由下面几个部分组成:先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用,我们会以Hive场景下的设计为例)。分析一下拉链表的优缺点,并对前面的提到的一些内容进行补充说明,比如说拉链表和流水表的区别。...
原创
281阅读
0评论
1点赞
发布博客于 9 月前

【Flink】Flink 入门(二)-- 架构详解

文章目录一、 Flink 运行时的组件二、任务提交流程三、任务调度原理3.1 TaskManger 与 Slots3.2 程序与数据流(DataFlow)3.3 执行图(ExecutionGraph)3.4 并行度(Parallelism)3.5 任务链(Operator Chains)一、 Flink 运行时的组件Flink 运行时架构主要包括四个不同的组件,它们会在运行流处理应用程序时协同...
原创
110阅读
0评论
1点赞
发布博客于 10 月前

【Flink】Flink入门(一)

文章目录一、Flink 简介二、Flink 的重要特点2.1 事件驱动型(Event-driven)2.2 流与批的世界观2.3 分层api三、Flink 几大模块一、Flink 简介Flink 起源于 Stratosphere 项目,Stratosphere 是在 2010~2014 年由 3 所地处柏林的大学和欧洲的一些其他的大学共同进行的研究项目,2014 年 4 月 Stratosp...
原创
57阅读
0评论
1点赞
发布博客于 10 月前

Centos7 安装配置 ftp 服务器(亲测有效)

首先在windows下载安装 flashfxp在Centos7 环境下配置yum install -y vsftpd2.启动服务并检查Systemctl start vsftpd3.修改 /etc/vsftpd/vsftpd.confvi /etc/vsftpd/vsftpd.conf// 最后添加anonymous_enable=NO(不允许匿名登录)userlist_d...
原创
174阅读
0评论
1点赞
发布博客于 10 月前

【Shell】Shell 脚本配置无密登录

#! /bin/bash# start no passwordecho "================================"echo " No secret login"echo "================================"echo "please wait moment......"if [ -f ~/.ssh/id_rsa ];thenec...
原创
67阅读
0评论
1点赞
发布博客于 10 月前

【Spark】Spark Streaming(二)—— DStream Transformation操作

本节主要内容本节部分内容来自官方文档:http://spark.apache.org/docs/latest/streaming-programming-guide.htmlDStream Transformation操作1. Transformation操作 Transformation Meaning map(func) 对DStream中的各个元素进...
原创
66阅读
0评论
1点赞
发布博客于 1 年前

【Java】 牛客网华为机试108题汇总

文章目录1、求字符串最后一个单词长度2、计算字符串个数3、明明的随机数1、求字符串最后一个单词长度import java.util.Scanner;/** * @Author: Stephen * @Date: 2020/3/21 13:24 * @Content: 计算字符串最后一个单词的长度,单词以空格隔开。 */public class StrLength01 { ...
原创
2901阅读
0评论
2点赞
发布博客于 1 年前

【Spark】Spark Streaming(一)

1. Spark流式计算简介Hadoop的MapReduce及Spark SQL等只能进行离线计算,无法满足实时性要求较高的业务需求,例如实时推荐、实时网站性能分析等,流式计算可以解决这些问题。目前有三种比较常用的流式计算框架,它们分别是Storm,Spark Streaming和Samza,各个框架的比较及使用情况,可以参见:http://www.csdn.net/article/2015-0...
原创
43阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark Streaming foreachRDD的正确使用方式

重点:Spark Streaming的foreachRDD运行在Driver端,而foreach和foreachPartion运行在Worker节点。备注:对数据的向外输出,还是用foreach**算子好,不要用Map**算子,因为Map还要返回一个RDD。误区一:在driver上创建连接对象(比如网络连接或数据库连接)如果在driver上创建连接对象,然后在RDD的算子函数内使用连接对象,那么就...
原创
133阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark join()和cogroup()区别

官网对join和cogroup解释示例代码: /** * join(otherDataSet,[numTasks]) * 加入一个RDD,在一个(k,v)和(k,w)类型的dataSet上调用,返回一个(k,(v,w))的pair dataSet。 */ def join(): Unit ={ val list1RDD = sc.parallelize(L...
原创
238阅读
0评论
1点赞
发布博客于 1 年前

【Java】TreeSet()详解

1.概述在本文中,我们将介绍Java Collections Framework的一个组成部分,以及最受欢迎的Set实现之一 TreeSet。2. TreeSet简介简而言之,TreeSet是一个有序集合,它扩展了AbstractSet类并实现了NavigableSet接口。以下是此实现最重要方面的快速摘要:它存储唯一的元素它不保留元素的插入顺序它按升序对元素进行排序它不是线程安...
原创
289阅读
0评论
1点赞
发布博客于 1 年前

【Java】java 中 next() 与 nextline()区别

java中的next()和nextLine()还是有很大区别的。next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。完整标记的前后是与分隔模式匹配的输入信息所以next()不能得到带空格的字符串,儿...
原创
43阅读
0评论
1点赞
发布博客于 1 年前

【Oozie】oozie学习笔记

Oozie英文翻译为:驯象人。一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache,提供对HadoopMapreduce、Pig Jobs的任务调度与协调。Oozie需要部署到Java Servlet容器中运行。主要用于定时调度任务,多任务可以按照执行的逻辑顺序调度。功能Oozie是一个管理Hdoop作业(job)的工作流程调度管理系统Oozie的工作流是一系列动作的直接周期图...
原创
61阅读
0评论
1点赞
发布博客于 1 年前

【Spark】pyspark 基于DataFrame使用MLlib包

在这里,我们将基于DataFrame使用MLlib包。 另外,根据Spark文档,现在主要的Spark机器学习API是spark.ml包中基于DataFrame的一套模型。 5.1 ML包的介绍 从顶层上看,ML包主要包含三大抽象类:转换器、预测器和工作流。5.1.1 转换器(Transformer) 从Transformer抽象类派生出来的每一个新的Transformer都需要实现一个....
原创
199阅读
0评论
1点赞
发布博客于 1 年前

【Spark】pyspark常用RDD总结

为了更好地进行大数据分析与处理,最近在学习PySpark,整理了一下笔记 ,加深印象。1 Resilient Distributed Datasets(RDD)弹性分布式数据集(RDD)是一个不可变的JVM对象的分布式集合,是Spark的基本抽象。1.1 创建RDD 准备工作:>>> import pyspark>>> from pyspark i...
原创
178阅读
0评论
1点赞
发布博客于 1 年前

【Oozie】Oozie4.1.0-CDH安装(亲测有效)

安装oozie经历了好长的时间,先是源码包,但是放弃了。。。然后就是安装的这个CDH版本的,弄了好久,经常报各种错误。最后整理出来这篇。这个安装过程同样适用于oozie4.1.0的其他的CDH版本。先对文件进行下载:这里使用的是CDH版本的,免编译,看着编译的过程就够了。下载地址:http://archive.cloudera.com/cdh5/cdh/5/oozie-4.1.0-cdh5.5.2...
原创
181阅读
0评论
1点赞
发布博客于 1 年前

【Kafka】kafka:如何保证消息不丢失不重复

首先要考虑这么几个问题:消息丢失是什么造成的?(从生产端和消费端两个角度来考虑)消息重复是什么造成的?(从生产端和消费端两个角度来考虑)如何保证消息有序?如果保证消息不重不漏,损失的是什么?消费端重复消费:很容易解决,建立去重表。消费端丢失数据:也容易解决,关闭自动提交offset,处理完之后受到移位。生产端重复发送:这个不重要,消费端消费之前从去重表中判重就可以。生产端丢失数据:...
原创
185阅读
0评论
1点赞
发布博客于 1 年前

【Kafka】Kafka stream 模拟股票证券大屏实时动态显示

文章目录kafka Producer 模拟股市价格的成交价利用流统计每种股票价格实时数据基于吞吐量存储与redis使用 Echarts 完成实时动态图标呈现效果图kafka Producer 模拟股市价格的成交价package com.njbdqn.services;import org.apache.kafka.clients.producer.KafkaProducer;import...
原创
181阅读
0评论
1点赞
发布博客于 1 年前

【Kafka】Kafka消费者组subscribe和assign的正确使用

使用Apache Kafka 消费者组时,有一个为消费者分配对应分区partition的过程,我们可以使用“自动”subscribe和“手动”assign的方式。同时进行“自动”和“手动”的分区分配是会互相影响的,有时会把事情搞糟。正确的使用,首先要了解这两种方式的场景。消费者组的使用场景Kafka里的消费者组有两个使用的场景:“队列模式”:在同一组的消费者共同消费一个主题的所有消息,...
原创
2199阅读
0评论
1点赞
发布博客于 1 年前

【Kafka】broker -副本与ISR设计

kafka把分区的所有副本均匀地分配到所有broker上,并从这些副本中挑选一个作为leader副本对外提供服务,而其他副本被称为follower副本,只能被动地向leader副本请求数据,从而保持与leader副本的同步:所谓isr,就是Kafka集群动态维护的一组同步副本集合,每个topic分区都有自己的isr列表,isr中的所有副本都与leader保持同步状态,而producer写入的一条...
原创
105阅读
0评论
1点赞
发布博客于 1 年前

【Kafka】深入探究--为什么Kafka速度快

Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率。即使是普通的服务器,Kafka也可以轻松支持每秒百万级的写入请求,超过了大部分的消息中间件,这种特性也使得Kafka在日志处理等海量数据场景广泛应用。针对Kafka的基准测试可以参考,Apache Kafka基准测试:每秒写入2百万(在三台廉价机...
原创
102阅读
0评论
1点赞
发布博客于 1 年前

【Kafka】Kafka指定分区消费

import org.apache.kafka.clients.consumer.Consumer;import org.apache.kafka.clients.consumer.ConsumerRecord;import org.apache.kafka.clients.consumer.ConsumerRecords;import org.apache.kafka.clients.co...
原创
764阅读
0评论
1点赞
发布博客于 1 年前

【Kafka】Kafka自定义分区器

1. 默认的分区策略(1) 如果键值为 null,并且使用了默认的分区器,那么记录将被随机地发送到主题内各个可用的分区上。分区器使用轮询(Round Robin)算法将消息均衡地分布到各个分区上。(2) 如果键不为空,并且使用了默认的分区器,那么 Kafka 会对键取 hash 值然后根据散列值把消息映射到特定的分区上。这里的关键之处在于,同一个键总是被映射到同一个分区上,所以在进行映射时,我...
原创
407阅读
2评论
1点赞
发布博客于 1 年前

【Kafka】Kafka核心架构、备份机制汇总

kafka是一款基于发布与订阅的消息系统。它一般被称为“分布式提交日志”或者“分布式流平台”。文件系统或者数据库提交日志用来提供所有事物的持久化记录,通过重建这些日志可以重建系统的状态。同样地,kafka的数据是按照一定顺序持久化保存的,可以按需读取。 1、kafka拓扑结构 2、Kafka的特点 同时为分布和订阅提供高吞吐量。据了解,Kafka每秒可以生...
原创
297阅读
0评论
2点赞
发布博客于 1 年前

【Spark】spark去重操作(窗口函数、内置函数)

查看重复记录找到最新的时间戳去重(窗口函数)import org.apache.spark.sql.expressions.Windowimport org.apache.spark.sql.functions._val dfResult = dfTraining.withColumn("rn",row_number() over Window.partitionBy($"user",...
原创
343阅读
0评论
1点赞
发布博客于 1 年前

【Hive】四种排序方式

Hive中4种排序的区别共有四种排序:order by,sort by ,distribute by,cluster byorder by全局排序;对输入的数据做排序,故此只有一个reducer(多个reducer无法保证全局有序);只有一个reducer,会导致当输入规模较大时,需要较长的计算时间;sort by非全局排序;在数据进入reducer前完成排序;当mapred.r...
原创
258阅读
0评论
0点赞
发布博客于 1 年前

【Spark】Spark cache的用法及其误区分析

Spark cache的用法及其误区:一、Cache的用法注意点:(1)cache之后一定不能立即有其它算子,不能直接去接算子。因为在实际工作的时候,cache后有算子的话,它每次都会重新触发这个计算过程。(2)cache不是一个action,运行它的时候没有执行一个作业。(3)cache缓存如何让它失效:unpersist,它是立即执行的。persist是lazy级别的(没有计算),un...
原创
872阅读
0评论
0点赞
发布博客于 1 年前

【Kafka】Kafka如何实现高吞吐量

1.顺序读写kafka的消息是不断追加到文件中的,这个特性使kafka可以充分利用磁盘的顺序读写性能顺序读写不需要硬盘磁头的寻道时间,只需很少的扇区旋转时间,所以速度远快于随机读写生产者负责写入数据,Kafka会将消息持久化到磁盘,保证不会丢失数据,Kafka采用了俩个技术提高写入的速度。1.顺序写入:在大学的计算机组成(划重点)里我们学过,硬盘是机械结构,需要指针寻址找到存储数据的位置...
原创
410阅读
0评论
1点赞
发布博客于 1 年前

【hbase】解决Java API不能远程访问linux服务器HBase的问题(亲测可用)

今天我在虚拟机里面安装了Hbase 1.2.4,说在windows上Java API调用访问下玩玩,结果始终连接不上。现象是启动程序后,程序出现卡死的状态,没报错也不停止,大约半分钟后才打印一堆日志出来,说连接重试了多次也连接不上:这个问题纠结了我半天,一查看发现HBase绑定的是本地IP:127.0.0.1,这当然访问不了然后我想可以把HBase的绑定在指定IP上,去查Hbase官网,却...
原创
299阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark Dataframe实现列转行

转换之前先看下数据结构多行存在空值需要过滤,不同的状态(yes、maybe、invited、no)存在多个值,需要转换成(events userid status)的状态首先考虑单独两行映射val df = spark.read.format("csv").option("header","true").load("file:///opt/data/event_attendees.csv"...
原创
1314阅读
2评论
4点赞
发布博客于 1 年前

【Kafka】kafka 转换算子(详解)

1.stateless transformation无状态的转换算子:流处理器不涉及状态的处理和存储1.1 branch分支 :将一个stream转换为1到多个Stream stream----->stream[] //branch 分流 KStream<String, String>[] streams = kStream.branch((k, v...
原创
394阅读
0评论
1点赞
发布博客于 1 年前

【kafka】java 操作 kafkaStream

文章目录导入maven包编写第一个Streams应用程序:将一个topic写入另一个topicLine Split单行映射成多行导入maven包<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients --> <dependency> <groupId>o...
原创
404阅读
0评论
1点赞
发布博客于 1 年前

【Spark】spark dataframe常用操作(一行数据映射为多行)

spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能。当然主要对类SQL的支持。在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选、合并,重新入库。首先加载数据集,然后在提取数据集的前几行过程中,才找到limit的函数。而合并就用到union函数,重新入库,就是registerTemple注册成表,再进行写入到HIVE中。不得不赞叹dataframe的强大...
原创
918阅读
0评论
2点赞
发布博客于 1 年前

【Kafka】java操作Kafka(一)

文章目录创建消息队列pom.xml生产者消费者java操作kafka非常的简单,然后kafka也提供了很多缺省值,一般情况下我们不需要修改太多的参数就能使用。下面我贴出代码。创建消息队列[root@hw1 ~]# kafka-topics.sh --create --zookeeper 192.168.56.122:2181 --topic test --replication-factor...
原创
206阅读
0评论
1点赞
发布博客于 1 年前

【Flume】Flume 正则拦截器

Flume中常用Kafka Source、正则拦截器、HDFS Sink,这里把需要注意的点做一下总结,并实现数据根F据事件时间和事件类型落到HDFS。Kafka Source配置# source类型agent.sources.s1.type = org.apache.flume.source.kafka.KafkaSource# kafka brokers列表agent.source...
原创
470阅读
0评论
1点赞
发布博客于 1 年前

【Kafka】kafka入门(一)

前言:在之前的文章里面已经了解到了「消息队列」是怎么样的一种存在(传送门),Kafka 作为当下流行的一种中间件,我们现在开始学习它!一、Kafka 简介Kafka 创建背景Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司 作为多种类型的...
原创
157阅读
0评论
1点赞
发布博客于 1 年前

浅谈消息队列以及常见中间件

消息队列 已经逐渐成为企业应用系统 内部通信 的核心手段。它具有 低耦合、可靠投递、广播、流量控制、最终一致性 等一系列功能。当前使用较多的 消息队列 有 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ 等,而部分 数据库 如 Redis、MySQL 以及 phxsql 也可实现消息队列的功能。 正文1. 消息队列概述消息队列 是指利用 ...
原创
404阅读
0评论
1点赞
发布博客于 1 年前

【Flume】Flume入门

Flume 简介Flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本 0.9...
原创
231阅读
0评论
0点赞
发布博客于 1 年前

【python】pyspark读取获取文件、加载已存在的文件、读取csv文件修改列名

读取获取文件# encoding=utf-8from pyspark import SparkContextfrom pyspark import SparkFilessc = SparkContext.getOrCreate()# dt = sc.addFile('hdfs://192.168.56.122:9000/data')with open(SparkFiles.ge...
原创
572阅读
0评论
1点赞
发布博客于 1 年前

【python】pyspark详解

为了更好地进行大数据分析与处理,最近在学习PySpark,整理了一下笔记 ,加深印象。1 Resilient Distributed Datasets(RDD)弹性分布式数据集(RDD)是一个不可变的JVM对象的分布式集合,是Spark的基本抽象。1.1 创建RDD 准备工作:>>> import pyspark>>> from pyspark ...
原创
306阅读
0评论
1点赞
发布博客于 1 年前

【spark】Spark Session 读取csv文件、修改无列名文件名

处理有列名文件-- 处理有列表名的文件scala> val cus = spark.read.format("csv").option("header","true").load("hdfs://192.168.56.122:9000/20200107/cust.csv")scala> cus.printSchemaroot |-- userid: string (nu...
原创
1399阅读
0评论
1点赞
发布博客于 1 年前

【Hadoop】windows下安装配置Hadoop运行环境(详解)

一、Hadoop下载地址:https://archive.apache.org/dist/hadoop/common/直接解压,不需要安装,放在自己想要放到的目录底下需要设置的变量有HADOOP_HOME C:\hadoop\spark-2.3.3-bin-hadoop2.7PATH:%HADOOP_HOME%\bin上诉内容都准备好之后再次重新打开控制台输入spark-she...
原创
155阅读
0评论
1点赞
发布博客于 1 年前

阿里云大数据ACA总结

1. 概述数加是指阿里云大数据平台,包含了一系列的大数据产品及服务。计算引擎(三类):离线计算、流式计算、在线计算2. MaxCompute由阿里云自主研发,提供针对TB/PB级数据、实时性要求不高的分布式处理能力,应用于数据分析、挖掘、商业智能等领域。阿里巴巴的数据业务都运行在MaxCompute上。特点:分布式(分布式集群架构)、安全性(自动存储容错)、易用性(标准接口服务)、管理与...
原创
541阅读
0评论
0点赞
发布博客于 1 年前

Hbase Shell 基础命令大全

<div class="toc"><h3>文章目录</h3><ul><ul><li><a href="#HBase_1" rel="nofollow">一、进入HBase命令行</a></li><li><a href="#HBase_33" rel="nofollow"&g...
原创
62阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark 转换算子详解

文章目录一、简介二、转换算子详解map、flatMap、distinctcoalesce 和 repartitionrandomSplitglomunionsubtrat一、简介转换(Transformation)算子就是对RDD进行操作的接口函数,其作用是将一个或多个RDD变换成新的RDD。使用Spark进行数据计算,在利用创建算子生成RDD后,数据处理的算法设计和程序编写的最关键部分,...
原创
278阅读
0评论
1点赞
发布博客于 1 年前

【Spark】RDD行动算子

文章目录简介所有RDD行动算子:数据运算类行动算子reduce——Reduce操作aggregate——聚合操作简介在Spark中转换算子并不会马上进行运算的,即所谓的“惰性运算”,而是在遇到行动算子时才会执行相应的语句的,触发Spark的任务调度开始进行计算。所有RDD行动算子:aggregate、collect、count、first、foreach、reduce、take、take...
原创
198阅读
0评论
1点赞
发布博客于 1 年前

【python】python 机器学习之 Numpy 使用总结(一)

文章目录数据类型数组属性创建数组数据类型numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型。下表列举了常用 NumPy 基本类型。名称描述bool_布尔型数据类型(True 或者 False)int_默认的整数类型(类似于 C 语言中的 long,int32 或 in...
原创
70阅读
0评论
1点赞
发布博客于 1 年前

【python】python 机器学习之 Numpy 使用总结(二)

Python中Numpy库使用总结 Numpy库的使用 Numpy库和Pandas库均是python机器学习中不可缺少的一个包,其重要性我就不详细说明,直接上干活 Numpy库的使用Numpy库的安装windown中提前安装好python,并且配置本地环境,具体方法参照百度检查是否安装好pip(pip是python下一个好基友)window下命令行直接 pi...
原创
55阅读
0评论
1点赞
发布博客于 1 年前

【Hive】Hive的三种Join方式

Hive中的join可分为三种,分别是Map-join、Reduce-join和SMB Join,本文简单介绍这三种join的原理和机制。1.Map-join MapJoin的主要意思就是,当链接的两个表是一个比较小的表和一个特别大的表的时候,我们把比较小的table直接放到内存中去,然后再对比较大的表格进行map操作。join就发生在map操作的时候,每当扫描一个大的table中的数据...
原创
78阅读
0评论
0点赞
发布博客于 1 年前

【Hive】hive侧视图lateral view和explode用法-简解

explode用法select explode(split("010029,010030,1000001,财富_顶部轮播,财富banner,财富货币资金产品,财富快捷,财富-稳健组合楼层,财富-稳健组合楼层头条,财富-稳健组合推荐产品,财富页三图,财富-专业投资楼层,财富-专业投资推荐产品,首页登录banner,首页登录明星,首页登录头条,首页登录推荐产品,首页-浮层广告,首页快捷,首页明星服务...
原创
135阅读
0评论
0点赞
发布博客于 1 年前

【Python】Python 爬虫实战之某1job职位信息爬取

#encoding=utf-8import requestsimport refrom lxml import etreeinfos=[]count=0def getHtmlContext(addr): a=requests.get(addr) a.encoding='gbk' return etree.HTML(a.content.decode("gbk"))def pa...
原创
251阅读
0评论
1点赞
发布博客于 1 年前

【Python】修改PIP源为国内PIP源方式

在出现找不到安装包的版本,例如安装jieba==0.39的时候报错:Could not find a version that satisfies the requirement jieba==0.39 (from versions: )No matching distribution found for jieba==0.39或者连接某些pip源超时可以考虑更换pip源国内pip源列表:...
原创
70阅读
0评论
1点赞
发布博客于 1 年前

【Python】python 3.x 数据类型 吐血汇总

文章目录1、整数型2、浮点数3、字符串4、布尔值5、空值6、变量7、定义字符串(1)raw字符串 、多行字符串(2)Unicode字符串8、集合 list(1)访问列表中的值(2)更新列表(3)删除列表元素(4)Python列表脚本操作符(6)嵌套列表(7)列表函数&方法9、元组 tuple计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能...
原创
250阅读
0评论
3点赞
发布博客于 1 年前

【Python】Sublime text 3搭建Python开发环境及常用插件安装

一、环境准备1、官方网站地址2、Windows 103、Sublime Text 3 + 官网购买license(Just a suggestion,$80)  购买链接,Sublime Text may be downloaded and evaluated for free, however a license must be purchased for continued use。...
原创
64阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark GraphX 图计算(一)

1、图(GraphX)1.1、基本概念图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种数据结构。这里的图并非指代数中的图。图可以对事物以及事物之间的关系建模,图可以用来表示自然发生的连接数据,如:社交网络、互联网web页面常用的应用有:在地图应用中找到最短路径、基于与他人的相似度图,推荐产品、服务、人际关系或媒体。2、术语2.1、顶点和边一般关系图中,事物为顶点,关系为边2...
原创
191阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark SQL 连接操作 Mysql

拷贝jar包并启动[root@hw1 ~]# cd /opt/soft/spark234/bin[root@hw1 bin]# ./spark-shell --jars /opt/soft/spark234/jars/mysql-connector-java-5.1.38.jarSpark读取mysql文件scala> val prop = new java.util.Proper...
原创
108阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark 访问连接 HIVE

配置注意点:1.拷贝mysql-connector-java-5.1.38-bin.jar等相关的jar包到你sparkhome/lib中(spark2.0之后是{spark_home}/lib中(spark2.0之后是sparkh​ome/lib中(spark2.0之后是{spark_home}/jars下),不清楚就全部拷贝过去2.将Hive的配置文件hive-site.xml拷贝到${s...
原创
641阅读
0评论
1点赞
发布博客于 1 年前

【Saprk】Spark DataFrame 列的类型转换

应用场景当需要把DataFrame中所有列的类型转换成另外一种类型,并且这个DataFrame中字段很多,一个一个地转换要写很多冗余代码的时候,就可以使用如下这两种转换方式。  方法一scala> a.select(a.col("id"),a.col("username"),a.col("birthday").cast("string").as("bir"))...
原创
2049阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark groupByKey,reduceByKey,sortByKey 算子比较

在spark中,我们知道一切的操作都是基于RDD的。在使用中,RDD有一种非常特殊也是非常实用的format——pair RDD,即RDD的每一行是(key, value)的格式。这种格式很像Python的字典类型,便于针对key进行一些处理。首先,看一看spark官网[1]是怎么解释的:reduceByKey(func, numPartitions=None)Merge the values f...
原创
66阅读
0评论
0点赞
发布博客于 1 年前

【Spark】SparkSql内置函数之时间日期类

一、获取当前时间1.current_date获取当前日期2018-04-092.current_timestamp/now()获取当前时间2018-04-09 15:20:49.247二、从日期时间中提取字段 1.year,month,day/dayofmonth,hour,minute,secondExamples:> SELECT day('2009-07-30'...
原创
421阅读
0评论
1点赞
发布博客于 1 年前

【Spark】spark randomSplit glom函数操作详解

该函数根据weights权重,将一个RDD切分成多个RDD。该权重参数为一个Double数组第二个参数为random的种子,基本可忽略。scala> var rdd = sc.makeRDD(1 to 10,10)rdd: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[16] at makeRDD at :21scal...
原创
88阅读
0评论
1点赞
发布博客于 1 年前

【Spark】spark 自定义Partitioner

在对RDD数据进行分区时,默认使用的是 HashPartitioner,该partitioner对key进行哈希,然后mod 上分区数目,mod的结果相同的就会被分到同一个partition中如果嫌HashPartitioner 功能单一,可以自定义partitioner自定义partitioner1.继承org.apache.spark.Partitioner2.重写numPart...
原创
81阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark中的Partitioner

前言分区只不过是将原来大的数据分成几部分。 比如分布式系统中的分区,我们可以将其定义为大型数据集的分区,并将它们存储为整个群集中的多个部分。通过分区可以减少网络I/O,从而可以更快地处理数据。在Spark中,co-group,groupBy,groupByKey等操作需要大量的I/O操作。 在这种情况下,如果我们应用分区,那么我们可以快速减少I/O操作的数量,以便我们可以加速数据处理。Spa...
原创
79阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark转换(transform)与动作(action)一览

转换含义map(func)每一个输入元素经过func函数转换后输出一个元素filter(func)返回经过 func 函数计算后返回值为 true 的输入元素组成的一个新数据集flatMap(func)类似于 map,但是每一个输入元素可以被映射为0或多个输出元素,因此 func 应该返回一个序列mapPartitions(func)类似于 map,但独立地在 RDD 的每一个分块上运行,因此在类...
原创
519阅读
0评论
2点赞
发布博客于 1 年前

【Spark】RDD创建总结

文章目录方式一、从内存中创建1.makeRDD2.parallelize方式二、从文件系统创建1.textFile2.wholeTextFiles3.sequenceFile4、saveAsHadoopFile5.newAPIHadoopRDD方式一、从内存中创建1.makeRDDscala> val df = sc.makeRDD(List("huangmouren","henshu...
原创
33阅读
0评论
1点赞
发布博客于 1 年前

【Spark】parallelize、makeRDD函数区别

Spark提供了两种创建RDD的方式:读取外部数据集,以及在驱动器程序中对一个集合进行并行化。在驱动器程序中对一个集合进行并行化的方式有两种:parallelize()和makeRDD()。1、parallelize()def parallelize[T: ClassTag]( seq: Seq[T], numSlices: Int = defaultPara...
原创
431阅读
0评论
1点赞
发布博客于 1 年前

【Spark】SparkSession与SparkContext(详解)

文章开始先让我们看一张图从图中我们可以大概看出SparkSession与SparkContext的关系了SparkSession是Spark 2.0引如的新概念。SparkSession为用户提供了统一的切入点,来让用户学习spark的各项功能。 在spark的早期版本中,SparkContext是spark的主要切入点,由于RDD是主要的API,我们通过sparkcontext来创建和操...
原创
1113阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Spark集群搭建

文章目录一、下载spark官网下载从微软的镜像站下载从清华的镜像站下载二、安装基础三、Spark安装1、上传并解压缩2、修改配置文件3、添加连接接点4、添加运行环境5、配置jdk6、拷贝到从节点7、启动 spark四、验证一、下载spark官网下载http://spark.apache.org/downloads.html从微软的镜像站下载http://mirrors.hust.edu....
原创
87阅读
0评论
1点赞
发布博客于 1 年前

【Spark】Apache Spark三种分布式部署方式比较

目前Apache Spark支持三种分布式部署方式,分别是standalone、spark on mesos和 spark on YARN其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公用一...
原创
55阅读
0评论
1点赞
发布博客于 1 年前

【Spark】 Spark特点介绍、Spark Streaming和Storm的区别

文章目录一、Spark介绍二、Spark特点三、Spark Streaming和Storm一、Spark介绍Spark是一个基于内存的开源计算框架Spark主要应用于大数据的计算,而Hadoop将主要用于大数据的存储(HDFS、HIVE、 Hbase等),Saprk+Hadoop组合,是未来大数据领域最热门的组合.Apache官方给出的定义是:通用的大数据快速处理引擎Spsrk使用Spa...
原创
108阅读
0评论
1点赞
发布博客于 1 年前

Shell 脚本三剑客之 sed详解

shell脚本三剑客,awk、grep、sedsed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed [-nefri] ‘command’ 输入文本 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,...
原创
49阅读
0评论
1点赞
发布博客于 2 年前

【SSM】SSM 框架注解总结

Spring中的注解: 注解含义: 用于创建对象的注解: 相当于:<bean id="" class=""> @Component注解: 作用: 把资源让spring来管理。...
原创
75阅读
0评论
1点赞
发布博客于 2 年前

【Scala】Scala的偏函数和偏应用函数

偏函数(Partial Function),是一个数学概念它不是"函数"的一种, 它跟函数是平行的概念。Scala中的Partia Function是一个Trait,其的类型为PartialFunction[A,B],其中接收一个类型为A的参数,返回一个类型为B的结果。举个例子scala> val pf:PartialFunction[Int,String] = { | ...
原创
53阅读
0评论
1点赞
发布博客于 2 年前

【Scala】Scala 之聚合函数 aggregate (详解)

val arr = List(List(1, 2, 3), List(3, 4, 5), List(2), List(0))scala> val arr =List(List(1,2,3),List(3,4,5),List(2),List(0));arr: List[List[Int]] = List(List(1, 2, 3), List(3, 4, 5), List(2), List...
原创
430阅读
0评论
1点赞
发布博客于 2 年前

【Scala】 groupBy、grouped 方法详解

-def groupBy[K](f: (T) ⇒ K): Map[K, Array[T]]按条件分组,条件由 f 匹配,返回值是Map类型,每个key对应一个序列,下面代码实现的是,把小于3的数字放到一组,大于3的放到一组,返回Map[String,Array[Int]]groupBy[K](f: (A) ⇒ K): immutable.Map[K, Repr]可看出来groupBy的参数...
原创
2402阅读
0评论
3点赞
发布博客于 2 年前

Hive 文件格式详解

hive中的 file_formatSEQUENCEFILE:生产中绝对不会用,k-v格式,比源文本格式占用磁盘更多TEXTFILE:生产中用的多,行式存储RCFILE:生产中用的少,行列混合存储,OCR是他得升级版ORC:生产中最常用,列式存储PARQUET:生产中最常用,列式存储AVRO:生产中几乎不用,不用考虑JSONFILE:生产中几乎不用,不用考虑INPUTFORMAT...
原创
188阅读
0评论
1点赞
发布博客于 2 年前

【Scala】Scala 之数据结构

文章目录数据结构1、数据结构特点2 、数组 Array3 、元组 Tuple4 、列表 List5 、 队列 Queue7 、集 Set8 、集合元素与函数的映射9 、化简、折叠、扫描10 、拉链11、迭代器12 、流 Stream13 、视图 View14 、线程安全的集合15 、并行集合16、操作符数据结构1、数据结构特点Scala同时支持可变集合和不可变集合,不可变集合从不可变,可以安...
原创
127阅读
0评论
1点赞
发布博客于 2 年前

【Scala】Scala 之控制结构与函数

文章目录控制结构和函数1、 if else表达式2 、 while表达式3、for表达式4 、函数5 、过程6 、懒值7 、异常控制结构和函数1、 if else表达式scala中没有三目运算符,因为根本不需要。scala中if else表达式是有返回值的,如果if或者else返回的类型不一样,就返回Any类型(所有类型的公共超类型)。 例如:if else返回类型一样val a3 = ...
原创
51阅读
0评论
1点赞
发布博客于 2 年前

【Scala】Scala基础详解

文章目录Scala基础1、IDEA运行HelloScala程序2、声明值和变量3、常用类型3.1 常用类型介绍3.2 常用类型结构图4 算数操作符重载5 调用函数与方法6、option类型Scala基础1、IDEA运行HelloScala程序1) 在scala上右键,创建scala object 2) 编写代码如下:object HelloScala { def main(...
原创
44阅读
0评论
1点赞
发布博客于 2 年前

【Scala】Scala 之 Array方法详解

Scala:Array(集合、序列)Scala开篇(目录) 数组是一种可变的、可索引的数据集合。在Scala中用Array[T]的形式来表示Java中的数组形式 T[]。val numbers = Array(1, 2, 3, 4) //声明一个数组对象val first = numbers(0) // 读取第一个元素numbers(3) = 100 // 替换第四个元素为100va...
原创
1117阅读
0评论
1点赞
发布博客于 2 年前

【Scala】Scala 部署和安装

文章目录一、Scala 简介二、安装三、配置 IDEA直接下载插件自主下载插件引入(推荐)一、Scala 简介Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在Java虚拟机上,并兼容现有的Java程序。Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库。...
原创
222阅读
0评论
2点赞
发布博客于 2 年前

Sqoop 配置与搭建(亲测有效)

文章目录一、Sqoop简介二、Sqoop原理三、Sqoop安装3.1 下载并解压3.2 修改配置文件3.3 拷贝JDBC驱动3.4 配置环境变量3.5 验证是否安装成功一、Sqoop简介Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如: MySQL ,Oracle ,Postgr...
原创
100阅读
0评论
1点赞
发布博客于 2 年前

hbase shell filter 过滤器用法总结

比较器:前面例子中的regexstring:2014-11-08.、binary:\x00\x00\x00\x05,这都是比较器。HBase的filter有四种比较器:(1)二进制比较器:如’binary:abc’,按字典排序跟’abc’进行比较(2)二进制前缀比较器:如’binaryprefix:abc’,按字典顺序只跟’abc’比较前3个字符(3)正则表达式比较器:如’regexstr...
原创
989阅读
0评论
2点赞
发布博客于 2 年前

Java API 连接和操作 Hbase

1、修改pom文件 <!-- https://mvnrepository.com/artifact/org.apache.hbase/hbase-client --> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase...
原创
71阅读
0评论
1点赞
发布博客于 2 年前

基于 Hadoop 集群的 zookeeper 与 Hbase 集群搭建

文章目录一、软件版本与系统环境二、zookeeper 安装1、xftp上传zookeeper压缩包并解压2、进入解压好的安装包 在conf文件夹下配置环境3、配置环境变量4、启动zookeeper三、Hbase集群搭建1、xftp上传Hbase压缩包并解压2、环境变量配置3、启动Hbase一、软件版本与系统环境①HBase,1.2.0, 下载链接②ZooKeeper,3.4.5,下载链接二...
原创
92阅读
0评论
1点赞
发布博客于 2 年前

Hbase 物理架构概述

Hbase物理模型架构体系 hbase工作流程 HRegionServer负责打开region,并创建HRegion实例,它会为每个表的HColumnFamily(用户创建表时定义的)创建一个Store实例,每个Store实例包含一个或多个StoreFile实例。是实际数据存储文件HFile的轻量级封装,每个Store会对应一个MemStore。写入数据时数据...
原创
254阅读
0评论
1点赞
发布博客于 2 年前

数据库 ACID 模型详解

ACID,是指在数据库管理系统(DBMS)中,事务(transaction)所具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)...
原创
197阅读
0评论
2点赞
发布博客于 2 年前

NoSQL 非关系型数据库概述

文章目录一、前言二、为什么使用NoSQL三、NoSQL和关系型数据库对比四、NoSQL 的特点五、NoSQL基本概念六、NoSQL的三大基石(CAP、BASE和最终一致性)CAPBASE最终一致性七、NoSQL分类八、列存储数据库(Wide Column Store)一、前言在开始HBase的学习之前,我们有必要了解一下NoSQL,为什么要使用NoSQL,NoSQL和关系型数据库的对比,N...
原创
98阅读
0评论
1点赞
发布博客于 2 年前

【数据结构与算法基础】栈、队列存储、单链表实现

文章目录一、栈存储二、队列存储三、单链表存储一、栈存储栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。代码实现:/**...
原创
310阅读
0评论
1点赞
发布博客于 2 年前

Hive 下的 Apache Zeppelin 集成部署

文章目录一、Zeppelin简介Zeppelin特性Apache Spark 集成数据可视化二、Zeppelin的安装部署使用Beeline连接hive测试下载 Zeppelin修改配置文件启动zeppelin作为大数据研究分析,我越发觉得有必要能有一款快速上手,能够适合单一数据处理、但后端处理语言繁多的场景相关的开源工具。最近我找到了一款Apache Zeppelin,下面是我初步实战初步收获...
原创
122阅读
0评论
1点赞
发布博客于 2 年前

【数据结构与算法基础】基于数组的查找算法

文章目录一、线性查找二、二分法查找一、线性查找/** * @Author: Stephen * @Date: 2019/12/16 23:26 * @Content: 基于数组的线性查找 */public class SearchTest { public static void main(String[] args) { // 首先定义一个目标数组 ...
原创
108阅读
0评论
1点赞
发布博客于 2 年前

Hive 窗口函数

简介本文主要介绍hive中的窗口函数.hive中的窗口函数和sql中的窗口函数相类似,都是用来做一些数据分析类的工作,一般用于olap分析(在线分析处理)。概念我们都知道在sql中有一类函数叫做聚合函数,例如sum()、avg()、max()等等,这类函数可以将多行数据按照规则聚集为一行,一般来讲聚集后的行数是要少于聚集前的行数的.但是有时我们想要既显示聚集前的数据,又要显示聚集后的数据,这...
原创
115阅读
0评论
1点赞
发布博客于 2 年前