自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wenqi

由点到面 汇至成自己的知识海洋

  • 博客(185)
  • 收藏
  • 关注

原创 解决调用Mybatis-plus方法selectPage、selectList遇到的报错问题BindingException:Invalid bound statement (not found)

解决调用Mybatis-plus方法selectPage、selectList遇到的报错问题BindingException:Invalid bound statement (not found)

2024-04-08 10:18:45 287

原创 HBase RowKey设计和实现

HBase由于存储特性和读写性能,在OLAP即时分析中发挥重要作用,Rowkey的设计好坏关乎到HBase的使用情况。我们知道HBase中定位一条数据需要四个维度的限制:RowKey,Column Family,Column Qualifier,Timestamp。RowKey是其中最容易出错的,不仅需要根据业务和查询需求来设计,还有很多地方需要关注。

2023-01-15 23:45:03 2475 1

原创 数据科学环境Anaconda安装教程

数据科学环境Anaconda安装教程

2022-09-27 15:19:22 710

原创 使用you-get工具下载MP4视频

you-get是一个下载视频流的工具,国外和国内很多的视频网站都可以通过这个下载,具体支持的网站可以去这个工具的github主页查看

2022-09-27 10:16:34 1439

原创 Error:Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False.

错误原因:python中安装的pytorch对应的CUDA版本和服务器上的显卡驱动对应的CUDA版本不兼容,显卡驱动对应的CUDA版本应当>=pytorch对应的CUDA版本。(这里显卡驱动对应的CUDA版本为10.1,而安装的pytorch版本为1.7.1+cu110)显卡驱动对应的CUDA版本获取:执行命令nvidia-smi,右上角CUDA Version对应的就是显卡驱动对应的CUDA版本。中安装合适的pytorch版本,或者升级显卡驱动。今天再跑目标检测时报的错,应该又是版本的问题。

2022-09-26 22:15:08 5865 1

原创 YOLO(实时目标检测)V1-V2-V3简介和细节改进

实时目标检测YOLO的简介和细节改进

2022-09-26 15:40:01 1856

原创 Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“的解决办法

下载完成后,我们得到了文件mu_visual_cpp_build_tools_2015_update_3_x64_dvd_dfd9a39c.iso,解压后,双击VisualCppBuildTools_Full.exe即可自动进行安装。但是一方面安装Visual Studio需要时间很久,另外一方面会占用大量的磁盘空间,让空间原本就不富裕的固态硬盘雪上加霜。点击Visual Studio 2015 update 3后,下载对应的文件即可,约1.1G,这里需要将格式修改为DVD。

2022-09-25 11:20:23 17127 10

原创 数仓建模—宽表的设计

宽表是数仓里面非常重要的一块,数仓是分层的,这是技术进步和时代变化相结合的产物,数仓的分层式为了更好地管理数仓以及更加高效地进行数据开发。

2022-08-27 10:47:20 2148

原创 数据仓库之拉链表

拉链表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。

2022-08-27 10:34:36 970

原创 快速掌握JVM及垃圾回收器

Java 虚拟机是一个可以执行 Java 字节码的虚拟机进程。Java 源文件被编译成能被 Java 虚拟机执行的字节码文件。Java 被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java 虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。...

2022-08-12 11:12:38 732

原创 Hive严格模式

4、查询条件里面字段类型赋值时必须一致,比如日期分区dt字段类型为字符串,那么分区条件必须指定为dt=‘20160508’,而不能用dt=20160508。2、带orderby的查询,必须使用limit限制查询数据条数,否则会查询失败。5、在生成动态分区时,会失败,需要单独设置为非严格模式。今天工作中被同事问到Hive严格模式三种禁止的查询。1、对分区表查询必须带分区条件,否则会查询失败。在严格模式下无法执行,通过设置。3、不能进行笛卡尔积的查询。...

2022-08-10 22:39:13 1765

原创 Spark提交参数说明和常见优化

会用spark,会调api和能用好spark是两回事,在进行开发的过程中,不仅要了解运行原理,还要了解业务,将合适的方法和业务场景合适的结合在一起,才能发挥最大的价值。

2022-08-03 11:09:19 516

原创 Spark调优(提交作业资源参数调优)

Spark提交作业job的时候要指定该job可以使用的CPU、内存等资源参数,生产环境中,任务资源分配不足会导致该job执行中断、失败等问题,所以对Spark的job资源参数分配调优非常重要。

2022-06-25 22:47:15 1090

原创 关于Hive中的存储格式及压缩格式详解

最近面试,遇到了关于Hive的数据存储格式的问题,回答不尽人意,抽时间总结多看看关于Hive存储格式和压缩格式的内容。TEXTFILE 是 Hive 默认文件存储方式,存储方式为行存储,数据不做压缩,磁盘开销大,数据解析开销大,数据不支持分片,数据加载导入方式可以通过LOAD和INSERT两种方式加载数据。可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但使用gzip方式,hive不会对数据进行切分,从而无法对数据进行并行操作,但压缩后的文件不支持split。在反序列化过程中,必须逐个

2022-06-07 23:41:04 5723 5

原创 大数据项目之Flink实时数仓(数据可视化接口实现)

之前数据分层处理,最后把轻度聚合的结果保存到 ClickHouse 中,主要的目的就是提供即时的数据查询、统计、分析服务。这些统计服务一般会用两种形式展现,一种是为专业的数据分析人员的 BI 工具,一种是面向非专业人员的更加直观的数据大屏。以下主要是面向百度的 sugar 的数据大屏服务的接口开发最终效果图分析各个可视化模块在可视化大屏中每个组件都需要一个单独的接口,图中一共涉及 8 个组件。接口执行过程:之前我们实现了 DWS 层计算后写入到 ClickHouse 中,接下来就是要为可

2022-06-06 20:21:00 2724 1

原创 Hive数据查询详解

为了演示查询操作,这里需要预先创建三张表,并加载测试数据。1.2 部门表1.3 分区表这里需要额外创建一张分区表,主要是为了演示分区查询:二、单表查询2.1 SELECT2.2 WHERE2.3 DISTINCTHive 支持使用 DISTINCT 关键字去重。2.4 分区查询分区查询 (Partition Based Queries),可以指定某个分区或者分区范围。2.5 LIMIT2.6 GROUP BYHive 支持使用 GROUP BY 进行分组聚合操作。 控制

2022-06-03 16:15:28 4488

原创 Hive 常用DML操作

关键字代表从本地文件系统加载文件,省略则代表从 HDFS 上加载文件:从本地文件系统加载文件时, 可以是绝对路径也可以是相对路径 (建议使用绝对路径);从 HDFS 加载文件时候, 为文件完整的 URL 地址:如 可以是文件路径 (在这种情况下 Hive 会将文件移动到表中),也可以目录路径 (在这种情况下,Hive 会将该目录中的所有文件移动到表中);如果使用 OVERWRITE 关键字,则将删除目标表(或分区)的内容,使用新的数据填充;不使用此关键字,则数据以追加的方式加入;加载的目标可以是

2022-06-03 16:14:09 1155

原创 Hive 视图和索引

Hive 中的视图和 RDBMS 中视图的概念一致,都是一组数据的逻辑表示,本质上就是一条 SELECT 语句的结果集。视图是纯粹的逻辑对象,没有关联的存储 (Hive 3.0.0 引入的物化视图除外),当查询引用视图时,Hive 可以将视图的定义与查询结合起来,例如将查询中的过滤器推送到视图中。在 Hive 中可以使用 创建视图,如果已存在具有相同名称的表或视图,则会抛出异常,建议使用 预做判断。在使用视图时候需要注意以下事项:视图是只读的,不能用作 LOAD / INSERT / ALTER 的目

2022-06-03 16:12:06 1295

原创 Hive的分区表和分桶表的概念和使用

Hive 中的表对应为 HDFS 上的指定目录,在查询数据时候,默认会对全表进行扫描,这样时间和性能的消耗都非常大。分区为 HDFS 上表目录的子目录,数据按照分区存储在子目录中。如果查询的 字句的中包含分区条件,则直接从该分区去查找,而不是扫描整个表目录,合理的分区设计可以极大提高查询速度和性能。通常,在管理大规模数据集的时候都需要进行分区,比如将日志文件按天进行分区,从而保证数据细粒度的划分,使得查询性能得到提升。在 Hive 中可以使用 子句创建分区表。表可以包含一个或多个分区列,程序会为分区列中

2022-06-03 16:09:51 2709

原创 Hive常用DDL操作

1.3 新建数据库语法:示例:1.4 查看数据库信息语法:示例:1.5 删除数据库语法:默认行为是 RESTRICT,如果数据库中存在表则删除失败。要想删除库及其中的表,可以使用 CASCADE 级联删除。示例:二、创建表2.1 建表语法2.2 内部表2.3 外部表使用 命令可以查看表的详细信息如下:2.5 分桶表2.6 倾斜表通过指定一个或者多个列经常出现的值(严重偏斜),Hive 会自动将涉及到这些值的数据拆分为单独的文件。在查询时,如果涉及到倾斜值,它就

2022-06-03 16:07:54 597

原创 Linux环境下Hive的安装

下载所需版本的 Hive,这里我下载版本为 。下载地址:http://archive.cloudera.com/cdh5/cdh/5/1.2 配置环境变量添加环境变量:使得配置的环境变量立即生效:1.3 修改配置1. hive-env.sh进入安装目录下的 目录,拷贝 Hive 的环境配置模板 修改 ,指定 Hadoop 的安装路径:2. hive-site.xml新建 hive-site.xml 文件,内容如下,主要是配置存放元数据的 MySQL 的地址、驱动、用户名和密码等信息:1.

2022-06-03 16:05:04 2130

原创 Spark Streaming与流处理

Spark Streaming与流处理介绍和案例

2022-06-01 16:58:41 688

原创 Spark 累加器与广播变量

Spark累加器和广播变量

2022-06-01 16:30:30 420

原创 Spark部署模式与作业提交

Spark部署模式及作业提交

2022-06-01 16:15:53 756

原创 Spark的Transformation和Action常用算子

Spark的Transformation和Action常用算子

2022-06-01 16:06:24 341

原创 Spark弹性式数据集RDD

Spark弹性式数据集RDD

2022-06-01 15:33:33 167

原创 Spark开发环境搭建

Spark开发环境搭建部署

2022-06-01 15:29:50 1407

原创 Spark简介

Spark 于 2009 年诞生于加州大学伯克利分校 AMPLab,2013 年被捐赠给 Apache 软件基金会,2014 年 2 月成为 Apache 的顶级项目。相对于 MapReduce 的批处理计算,Spark 可以带来上百倍的性能提升,因此它成为继 MapReduce 之后,最为广泛使用的分布式计算框架。Apache Spark 具有以下特点:执行过程:Spark 基于 Spark Core 扩展了四个核心组件,分别用于满足不同领域的计算需求。Spark SQLSpark SQL 主要用于结

2022-06-01 15:24:31 18906

原创 Spring/Spring Boot 整合 Mybatis + Phoenix

一、前言使用 Spring+Mybatis 操作 Phoenix 和操作其他的关系型数据库(如 Mysql,Oracle)在配置上是基本相同的二、Spring + Mybatis + Phoenix2.1 项目结构2.2 主要依赖除了 Spring 相关依赖外,还需要导入 phoenix-core 和对应的 Mybatis 依赖包<!--mybatis 依赖包--><dependency> <groupId>org.mybatis</grou

2022-06-01 10:58:45 1152

原创 Hbase的SQL中间层——Phoenix

一、Phoenix简介Phoenix 是 HBase 的开源 SQL 中间层,它允许你使用标准 JDBC 的方式来操作 HBase 上的数据。在 Phoenix 之前,如果你要访问 HBase,只能调用它的 Java API,但相比于使用一行 SQL 就能实现数据查询,HBase 的 API 还是过于复杂。Phoenix 的理念是 we put sql SQL back in NOSQL,即你可以使用标准的 SQL 就能完成对 HBase 上数据的操作。同时这也意味着你可以通过集成 Spring Data

2022-06-01 10:58:33 350

原创 HBase 过滤器使用

一、HBase过滤器简介Hbase 提供了种类丰富的过滤器(filter)来提高数据处理的效率,用户可以通过内置或自定义的过滤器来对数据进行过滤,所有的过滤器都在服务端生效,即谓词下推(predicate push down)。这样可以保证过滤掉的数据不会被传送到客户端,从而减轻网络传输和客户端处理的压力。二、过滤器基础2.1 Filter接口和FilterBase抽象类Filter 接口中定义了过滤器的基本方法,FilterBase 抽象类实现了 Filter 接口。所有内置的过滤器则直接或者

2022-06-01 10:58:19 685

原创 HBase Java API 的基本使用

一、简述截至到目前 (2019.04),HBase 有两个主要的版本,分别是 1.x 和 2.x ,两个版本的 Java API 有所不同,1.x 中某些方法在 2.x 中被标识为 @deprecated 过时。同时你使用的客户端的版本必须与服务端版本保持一致,如果用 2.x 版本的客户端代码去连接 1.x 版本的服务端,会抛出 NoSuchColumnFamilyException 等异常。二、Java API 1.x 基本使用2.1 新建Maven工程,导入项目依赖要使用 Java API 操

2022-05-31 18:29:45 577

原创 Hbase 常用 Shell 命令

一、基本命令打开 Hbase Shell:# hbase shell1.1 获取帮助# 获取帮助help# 获取命令的详细信息help 'status'1.2 查看服务器状态status1.3 查看版本信息version二、关于表的操作2.1 查看所有表list2.2 创建表命令格式: create ‘表名称’, ‘列族名称 1’,‘列族名称 2’,‘列名称 N’# 创建一张名为Student的表,包含基本信息(baseInfo)、学校信息(schoolInfo)

2022-05-31 18:09:14 10692

原创 HBase集群环境配置

一、集群规划这里搭建一个 3 节点的 HBase 集群,其中三台主机上均为 Region Server。同时为了保证高可用,除了在 hadoop001 上部署主 Master 服务外,还在 hadoop002 上部署备用的 Master 服务。Master 服务由 Zookeeper 集群进行协调管理,如果主 Master 不可用,则备用 Master 会成为新的主 Master。二、前置条件HBase 的运行需要依赖 Hadoop 和 JDK(HBase 2.0+ 对应 JDK 1.8+) 。同时

2022-05-31 18:06:24 928

原创 HBase基本环境搭建

一、安装前置条件说明1.1 JDK版本说明HBase 需要依赖 JDK 环境,同时 HBase 2.0+ 以上版本不再支持 JDK 1.7 ,需要安装 JDK 1.8+ 。1.2 Standalone模式和伪集群模式的区别在 Standalone 模式下,所有守护进程都运行在一个 jvm 进程/实例中;在伪分布模式下,HBase 仍然在单个主机上运行,但是每个守护进程 (HMaster,HRegionServer 和 ZooKeeper) 则分别作为一个单独的进程运行。说明:两种模式任选其一

2022-05-31 18:00:22 1149

原创 Hbase系统架构及数据结构

一、基本概念一个典型的 Hbase Table 表如下:1.1 Row Key (行键)Row Key 是用来检索记录的主键。想要访问 HBase Table 中的数据,只有以下三种方式:通过指定的 Row Key 进行访问;通过 Row Key 的 range 进行访问,即访问指定范围内的行;进行全表扫描。Row Key 可以是任意字符串,存储时数据按照 Row Key 的字典序进行排序。这里需要注意以下两点:因为字典序对 Int 排序的结果是 1,10,100,11

2022-05-31 17:51:25 1789

原创 HBase简介

一、Hadoop的局限HBase 是一个构建在 Hadoop 文件系统之上的面向列的数据库管理系统。要想明白为什么产生 HBase,就需要先了解一下 Hadoop 存在的限制?Hadoop 可以通过 HDFS 来存储结构化、半结构甚至非结构化的数据,它是传统数据库的补充,是海量数据存储的最佳方法,它针对大文件的存储,批量访问和流式访问都做了优化,同时也通过多副本解决了容灾问题。但是 Hadoop 的缺陷在于它只能执行批处理,并且只能以顺序方式访问数据,这意味着即使是最简单的工作,也必须搜索整个数据集

2022-05-31 17:37:06 574

原创 详解Sqoop及使用

一、Sqoop 简介Sqoop 是一个常用的数据迁移工具,主要用于在不同存储系统之间实现数据的导入与导出:导入数据:从 MySQL,Oracle 等关系型数据库中导入数据到 HDFS、Hive、HBase 等分布式文件存储系统中;导出数据:从 分布式文件系统中导出数据到关系数据库中。其原理是将执行命令转化成 MapReduce 作业来实现数据的迁移,如下图:二、Sqoop安装版本选择:目前 Sqoop 有 Sqoop 1 和 Sqoop 2 两个版本,但是截至到目前,官方并不推荐使

2022-05-31 12:26:02 1501

原创 Azkaban Flow 2.0的使用

一、Flow 2.0 简介1.1 Flow 2.0 的产生Azkaban 目前同时支持 Flow 1.0 和 Flow2.0 ,但是官方文档上更推荐使用 Flow 2.0,因为 Flow 1.0 会在将来的版本被移除。Flow 2.0 的主要设计思想是提供 1.0 所没有的流级定义。用户可以将属于给定流的所有 job / properties 文件合并到单个流定义文件中,其内容采用 YAML 语法进行定义,同时还支持在流中再定义流,称为为嵌入流或子流。1.2 基本结构项目 zip 将包含多个流 YA

2022-05-31 11:57:41 371

原创 Azkaban 3.x 编译及部署

一、Azkaban 源码编译1.1 下载并解压Azkaban 在 3.0 版本之后就不提供对应的安装包,需要自己下载源码进行编译。下载所需版本的源码,Azkaban 的源码托管在 GitHub 上,地址为 https://github.com/azkaban/azkaban 。可以使用 git clone 的方式获取源码,也可以使用 wget 直接下载对应 release 版本的 tar.gz 文件,这里我采用第二种方式:#下载wget https://github.com/azkaban/az

2022-05-31 11:43:46 249

空空如也

空空如也

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

TA关注的人

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