
深入浅出大数据
本专栏主要介绍大数据相关技术,如hadoop,spark,hive,hbase等常用语法介绍,当然本专栏也会对一些模块进行深入讲解,让你更好的了解大数据的应用。
优惠券已抵扣
余额抵扣
还需支付
¥99.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
AI算法攻城狮
互联网算法工程师,拥有扎实的理论基础和丰富的算法落地实践经验
展开
-
Hadoop、HDFS、Hive、Hbase之间的关系
Hbase:是一款基于HDFS的数据库,是一种NoSQL数据库,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如日志明细、交易清单、轨迹行为等。Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用。Hive:用户处理存储在HDFS中的数据,hive的意义就是把好写的hive的sql转换为复杂难写的map-reduce程序。,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能。原创 2022-12-18 21:00:38 · 3683 阅读 · 0 评论 -
Hive MapReduce性能优化
一、Hive任务创建文件数优化1.1 Map端文件合并减少Map任务数量一般来说,HDFS的默认文件块大小是128M,如果在Hive执行任务时,发现Map端的任务过多,且执行时间多数不超过一分钟,建议通过参数,划分(split)文件的大小,合并小文件。如:set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;set mapreduce.input.fileinputformat.split.mi原创 2022-04-07 12:30:12 · 599 阅读 · 0 评论 -
Hive编程 | 开窗函数
普通的聚合函数聚合的行集是组,开窗函数聚合的行集是窗口。因此,普通的聚合函数每组(Group by)只返回一个值,而开窗函数则可为窗口中的每行都返回一个值。简单理解,就是对查询的结果多出一列,这一列可以是聚合值,也可以是排序值。 开窗函数一般分为两类,聚合开窗函数和排序开窗函数。-- 建表create table student_scores(id int,studentId int,...原创 2020-03-24 13:57:22 · 906 阅读 · 0 评论 -
浅析hadoop框架设计
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。一、关系型数据库和MapReduce 数据库系统只更新一部分记录,比mapreduce有优势。但是,如果更新大量数据时,效率就要比mapreduce低很多,因为需要使用“排序...原创 2017-11-17 17:06:54 · 1264 阅读 · 0 评论 -
Hive编程 | 常用语法
1、concat_ws指定分隔符,拼接字符串SELECT CONCAT_WS('-','a','b','c');2、row_num去重SELECT a.*FROM( SELECT t.*,row_number()over(partition BY XXX order BY XXX) as row_num from t) aWHERE a.row_num=13...原创 2019-06-17 15:55:39 · 873 阅读 · 1 评论 -
Hive,Presto,Spark 共性
Hive、Presto 和 Spark 都是大数据处理工具,都属于大数据处理技术栈,都需要集群环境支持,都可以进行数据处理和分析。原创 2024-04-23 22:46:45 · 431 阅读 · 0 评论 -
Hive sql <> 和 !=
在日常开发中,使用 Hive sql 中的不等于判断符,即 和 != , 和 != 都是会把 null 值的数据剔除掉原创 2024-01-25 16:15:39 · 386 阅读 · 0 评论 -
hive编程 | 使用mvn构造udf函数
在阅读本篇博文之前,建议先读下使用原生添加lib的方式构造udf函数。唯一的区别在pom文件的配置。原创 2022-12-15 21:30:20 · 327 阅读 · 0 评论 -
hive中文繁简转化opencc4j
toTraditional(char) 返回单个汉字对应的所有繁体字列表。traditionalList(String) 返回包含的繁体列表。toSimple(char) 返回单个汉字对应的所有简体字列表。simpleList(String) 返回包含的简体列表。isTraditional(String) 是否为繁体。toTraditional(String) 转为繁体。toSimple(String) 转为简体。原创 2022-12-12 20:32:59 · 1198 阅读 · 1 评论 -
hive udf unicode解码
【代码】hive udf unicode解码。原创 2022-11-21 19:58:29 · 1103 阅读 · 0 评论 -
hive ipv4与十进制整数的转换
1、ipv4转十进制整数。2、十进制整数转ipv4。原创 2022-11-18 11:08:34 · 1149 阅读 · 0 评论 -
hive构造UDF函数
1、创建一个project。2、建一个lib文件夹,放入hive-exec-0.13.0.jar,并在libraries中引入该jar包。3、在src目录下创建package,如com.abc。4、创建java文件,继承UDF,写功能代码。5、定义输出文件jar。6、最后执行build module。原创 2022-11-18 10:53:52 · 671 阅读 · 0 评论 -
Linux shell执行hadoop命令清理垃圾箱
Linux shell执行hadoop命令清理垃圾箱原创 2022-06-29 15:29:26 · 703 阅读 · 0 评论 -
Python 删除HDFS过期文件
一、清理本地文件import datetimefrom utils import confUtils, hadoopimport osimport shutilimport timeimport sysdef cleandir(path, duration): time_now = time.time() for root, dirs, files in os...原创 2018-09-20 11:44:37 · 1694 阅读 · 0 评论 -
停止正在运行的hadoop任务
查看正在运行的任务列表yarn application -list -appStates RUNNING停止任务yarn application -kill application_任务编号原创 2022-05-01 20:53:15 · 1738 阅读 · 0 评论 -
Hadoop Shell命令
FS Shell调用文件系统(FS)Shell命令应使用bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统,scheme是file。其中scheme和authority参数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。一个HDFS文件或目录比如/parent/child可以表示成hdfs://nameno.原创 2022-03-15 15:26:10 · 298 阅读 · 0 评论 -
Hive 窗口函数lead、lag
Hive的分析函数又叫窗口函数,在oracle中就有这样的分析函数,主要用来做数据统计分析的。Lag和Lead分析函数可以在同一次查询中取出同一字段的前N行的数据(Lag)和后N行的数据(Lead)作为独立的列。这种操作可以代替表的自联接,并且LAG和LEAD有更高的效率,其中over()表示当前查询的结果集对象,括号里面的语句则表示对这个结果集进行处理。函数介绍LAGLAG(col,n,DEFAULT) 用于统计窗口内往上第n行值参数1为列名,参数2为往上第n行(可选,默认为1),参数3原创 2021-02-12 00:11:09 · 3873 阅读 · 2 评论 -
Hive编程指南 | 增加、修改、删除字段、修改分区
Hive编程指南 | 增加、修改、删除字段原创 2021-02-04 18:25:37 · 6165 阅读 · 1 评论 -
float与double的范围和精度
单精度浮点数在机内占4个字节,用32位二进制描述。双精度浮点数在机内占8个字节,用64位二进制描述。浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。数符占1位二进制,表示数的正负。指数符占1位二进制,表示指数的正负。尾数表示浮点数有效数字,0.xxxxxxx,但不存开头的0和点指数存指数的有效数字。指数占多少位,尾数占多少位,由计算机系统决定。可能是数符加尾数占24位,...原创 2016-06-30 15:52:38 · 7574 阅读 · 0 评论 -
Mongo查询语句
db.qiche.find({"trasferStatus":{$ne:1}}).count();db.qiche.find({}).count();120.27.195.31原创 2017-05-17 10:27:58 · 921 阅读 · 0 评论 -
HIVE空指针异常:NullPointerException null
FAILED: NullPointerException null可能出现错误的2种原因:1. 分区表未指定分区2. Union all情况下,前后2段的字段名、数据类型不匹配原创 2021-04-10 07:31:37 · 5012 阅读 · 1 评论 -
hive编程 | 引用jar包报class not found异常
场景:jar包上传到服务器,发现服务引用原因:jar包上传方式有问题,原来我使用send zmodelm解决方案:使用rz上传jar包原创 2021-01-13 12:00:25 · 1146 阅读 · 0 评论 -
hive 获取数组的最大值和最小值
1、首先把数组打散,生成中间表YYYselect exploded_column,XXXX.column2from XXXXLATERAL VIEW explode(XXXX.column1) t1 as exploded_column2、使用first_value获取最小值,last_value获取最大值select uid,point_id,first_value(loc_x)over(partition by uid order by point_id) as start,las原创 2021-01-11 21:28:34 · 6177 阅读 · 0 评论 -
hive编程 | substr用法详解
使用语法: substr(string A, int start),substring(string A, int start) 两者用法一样,两个参数返回字符串A从start位置到结尾的字符串 hive> select substr('abcde',3);//意为从第三个开始截取,一直到结尾。a的下标为1。 cde hive> select substring('abcde',3); cde hive> se原创 2021-01-06 12:08:56 · 1682 阅读 · 0 评论 -
hive表被误删后如何恢复?
1、首先去垃圾箱找到被删除的表数据hadoop fs -du -h /user/用户名/.Trash/Current/user/用户名/warehouse;2、把数据copy到原始的文件夹hadoop fs -cp 垃圾箱/表名 原始文件夹/表名3、修复分区MSCK REPAIR TABLE 表名4、验证数据select * from 表名 limit 100;......原创 2020-11-01 18:42:41 · 4413 阅读 · 0 评论 -
为什么要用Hive?
Hive是Hadoop生态系统中比不可少的一个工具,它提供了一种SQL(结构化查询语言)方言,可以查询存储在Hadoop分布式文件系统(HDFS)中的数据或其他和Hadoop集成的文件系统,如MapR-FS、Amazon的S3和像HBase(Hadoop数据仓库)和Cassandra这样的数据库中的数据。大多数数据仓库应用程序都是使用关系数据库进行实现的,并使用SQL作为查询语言。Hive降低...原创 2019-08-23 20:03:30 · 1481 阅读 · 0 评论 -
hive | 解决character '' not supported here
今天在处理数据入库时出现了character '' not supported here的bug经过问题排查,是在执行 load DATA LOCAL inpath 'XXX' overwrite into TABLE XXX partition(dt='20200417');中有不可见的字符导致的,将SQL复制到文本编辑器,将第30列后面的不可见字符删掉,问题就解决了...原创 2020-04-17 16:39:48 · 9573 阅读 · 0 评论 -
hive数据导入导出
1、创建表结构指定分隔符drop table XXX;create table XXX( .....)partitioned by(dt string)row format delimited fieldsterminated by '\t';2、数据导入load data local inpath ''overwrite into table XXXparti...原创 2019-08-27 12:05:38 · 740 阅读 · 0 评论 -
Hive中SELECT TOP N的方法(order by与sort by)
SELECT TOP N是取最大前N条或者最小前N条。Hive提供了limit关键字,再配合order by可以很容易地实现SELECT TOP N。但是在Hive中order by只能使用1个reduce,如果表的数据量很大,那么order by就会力不从心。例如我们执行SQL:select a from ljntest01 order by a limit 10;控制台会打印出:Num...原创 2019-02-20 11:39:07 · 2075 阅读 · 0 评论 -
Hive内表与外表的区别
一、区别1、创建表结构①在Hive里面创建一个表:hive> create table wyp(id int, > name string, > age int, > tele string) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY '\t' >...原创 2017-12-06 21:04:28 · 1925 阅读 · 1 评论 -
windows 安装mongo数据库&注册mongo服务
1. 在mongo官网下载安装包https://www.mongodb.com/download-center?jmp=nav#community2. 把mongo自定义安装到非系统盘,安装到系统盘会出现权限问题,我是安装到了D盘MongoDB目录在安装目录新建配置文件mongo.confdbpath=D:\MongoDB\data #数据库路径 logpath=D:\Mo原创 2017-06-30 11:06:52 · 1010 阅读 · 0 评论 -
mongo 常用语句
登录 mongo localhost:40000/3idata统计 db.data_02_import_fail.find({importStatus:0}).count();修改 db.data_02_import_fail.update({importStatus:2},{$set:{importStatus:0}},{multi:true})使用_id原创 2017-05-19 11:51:20 · 1060 阅读 · 0 评论 -
presto常用语法
1、提取hostselect url_extract_host(pc_url);原创 2019-08-14 12:03:39 · 3255 阅读 · 0 评论 -
浅析Hbase
无论是 NoSQL,还是大数据领域,HBase 都是非常"炙热"的一门数据库。本文将对 HBase 做一些基础性的介绍,旨在入门。一、简介HBase 是一个开源的、面向列的非关系型分布式数据库,目前是Hadoop体系中非常关键的一部分。在最初,HBase是基于谷歌的 BigTable 原型实现的,许多技术来自于Fay Chang在2006年所撰写的Google论文"BigTable"。与 ...原创 2019-12-02 11:33:05 · 2232 阅读 · 0 评论 -
浅析Kafka实时数据处理系统
Kafka是啥?用Kafka官方的话来说就是:Kafka is used for buildingreal-time datapipelines and streaming apps. It ishorizontally scalable,fault-tolerant,wicked fast, and runs in production in thousands of compa...原创 2019-11-28 12:05:40 · 2672 阅读 · 0 评论 -
Java单例模式
1)单例模式的定义:在整个应用中,保证一个类只有一个实例,它提供了一个可以访问到它自己的全局访问点(静态方法)。单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的...原创 2017-12-14 21:41:40 · 751 阅读 · 0 评论 -
浅析JVM
一、概述JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Jav...原创 2018-03-06 18:54:37 · 742 阅读 · 0 评论 -
Mac搭建Spark环境
一、首先搭建hadoop环境https://xingqijiang.blog.youkuaiyun.com/article/details/78736449二、安装scala命令行执行:brew install scala执行完成后,终端输入:scala -version 进行查看,如下表明安装成功:jiangxingqideMacBook-Pro:~ jiangxingqi$ scal...原创 2019-04-25 16:31:27 · 1257 阅读 · 0 评论 -
Spark RDD
弹性分布式数据集(RDD)不仅仅是一组不可变的JVM(Java虚拟机) 对象的分布集,可以让你执行高速运算,而且是Apark Spark的核心。顾名思义,该数据集是分布式的。基于某个关键字,该数据集被划分成多块,同时分发到执行结点。这样做可以使得此类数据集能够执行高速执行运算。另外,RDD将跟踪(记入日志)应用于每个块的所有转换,以加快计算速度,并在发生错误和部分数据丢失时提供回退。在这种情况...原创 2018-11-06 22:25:56 · 642 阅读 · 0 评论 -
Spark DataFrame
DataFrame是一种不可变的分布式数据集,这种数据集被组织成指定的列,类似于关系数据库中的表。SchemaRDD作为Apache Spark 1.0版本中的实验性工作,它在Apache Spark 1.3版本中被命名为DataFrame。对于熟悉Python pandas DataFrame或者R DataFrame的读者,Spark DataFrame是一个近似的概念,即允许用户轻松地使用结...原创 2018-11-06 23:08:46 · 1234 阅读 · 0 评论