自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Just Do IT

但行好事,莫问前程!

  • 博客(309)
  • 资源 (3)
  • 论坛 (4)
  • 收藏
  • 关注

原创 【Java】面向对象基本特性-封装

封装概述面向对象编程是对客观世界的抽象,封装是对这个抽象的保护,避免外界直接操作抽象内部的隐藏对象。适当的封装让代码更易懂,也更安全。封装的步骤使用private关键字来修饰成员变量对需要访问的成员变量,提供对应的一对get和set方法。封装标准模板JavaBeanJavaBean是java语言编写类的一种标准规范。符合JavaBean的类,要求类必须是具体的和公共的,并且具有无参数的构造方法,提供用来操作成员变量的get和set方法。public class className { /

2020-11-08 10:27:57 35

原创 【Spark】ip地址查询案例(城市热点图)

上图是一张很常见的城市热力图,像这样的图是如何绘制的呢?其实,每个地区都有自己的经纬度和上网ip区段,可以通过解析上网日志中的ip,定位某个地区的客流量。本篇文章主要介绍,如果通过解析上网日志,查找热门地区经纬度,并把统计数据插入Mysql表中。数据准备这里需要两份数据:日志数据:20090121000132.394251.http.format链接:https://pan.baidu.com/s/1luckcRUOpCDVmivLJ03XOQ提取码:kroh2. 城市ip段数据.

2020-07-30 00:39:12 103

原创 【IDEA】Command line is too long. Shorten command ... or also for Application default configuration

在工程的 .idea目录下打开 workspace.xml文件在 <component name="PropertiesComponent">标签下,添加:<property name="dynamic.classpath" value="true" />

2020-07-29 23:30:41 150

原创 【Hive】性能调优 - map-side JOIN

Hive版本: hive-1.1.0-cdh5.14.2概述如果表关联时,有一张表很小,那么可以在大表通过mapper时将小表完全加载到内存中,Hive可以在map端完成关联过程,这就是所谓的map-side JOIN。使用map-side JOIN可以省掉常规的reduce过程,从而提升Hive的效率。Hive中有三个和map-side JOIN相关的参数:参数默认值hive.auto.convert.jointrue (Hive 0.11.0+)hive.aut.

2020-07-01 08:17:58 125

原创 【Hive】性能调优 - EXPLAIN

Hive版本: hive-1.1.0-cdh5.14.2用户提交HiveQL查询后,Hive会把查询语句转换为MapReduce作业。Hive会自动完成整个执行过程,一般情况下,我们并不用知道内部是如何运行的。但当查询遇到性能瓶颈时,就需要对HiveQL进行调优。EXPLAIN是调优时查看执行计划的工具,执行计划可以清晰的告诉我们查询的stage、map、reduce等阶段的信息。EXPLAIN的使用非常简单,只需要在正常HiveQL前面加上就可以了。此时的HiveQL不会真正执行作业,只是基于.

2020-06-30 08:01:28 186

原创 【Hive】压缩格式

常见压缩格式压缩方式压缩比压缩速度解压缩速度是否可分割gzip13.4%21 MB/s118 MB/s否bzip213.2%2.4MB/s9.5MB/s是lzo20.5%135 MB/s410 MB/s是snappy22.2%172 MB/s409 MB/s否压缩格式对应的编/解码器压缩格式对应的编/解码器DEFLATEorg.apache.hadoop.io.compress.DefaultCode

2020-06-29 06:41:39 4517

原创 【Hive】hive表的文件存储格式

在Hive中,文件的存储格式主要有:TEXTFILE、SEQUENCEFILE、ORC、PARQUET。其中,TEXTFILE、SEQUENCEFILE是基于行存储,ORC、PARQUET基于列存储。实际生产环境,使用ORC和PARQUET的情况比较多。1. 行存储和列存储上图中左边为逻辑表,右上为行存储,右下为列存储。当查询结果为一整行的时候,行存储效率会高一些;当查询表中某几列时,列存储的效率会更高。在对数据的压缩方面,列存储比行存储更有优势,所以列存储占用空间相对小一些。2. TEXT

2020-06-26 18:53:18 407

原创 【Hive】表生成(Table-Generating)函数

Hive版本: hive-1.1.0-cdh5.14.21. 列转行函数:explode(1) 输入类型为array语法:explode(ARRAY a)返回值:T描述:展开array,其中每个元素占一行0: jdbc:hive2://node03:10000> select explode(array('A', 'B', 'C'));+------+--+| col |+------+--+| A || B || C |+------+--+(2).

2020-06-26 10:52:51 102

原创 【Hive】字符串函数

Hive版本: hive-1.1.0-cdh5.14.21. 首字符转ascii码函数:ascii语法:ascii(string str)返回值:int描述:返回字符串str首字符的ascii编码0: jdbc:hive2://node03:10000> select ascii('hello') as col1, ascii('hehe') as col2, ascii('Hi') as col3;+-------+-------+-------+--+| col1 | col2.

2020-06-21 19:45:32 148

原创 【Hive】条件函数

Hive版本: hive-1.1.0-cdh5.14.21. if函数语法:if(boolean testCondition, T valueTrue, T valueFalseOrNull)返回值: T描述:如果testCondition为true,返回valueTrue,否则返回valueFalseOrNull0: jdbc:hive2://node03:10000> select if(1=2, 'TrueValue', 'FalseOrNull');+-------------.

2020-06-20 23:52:05 80

原创 【Hive】日期函数

1. Unix时间戳转日期函数名称:from_unixtime(bigint unixtime[, string format])返回值:string描述: Unix时间戳转换为日期格式0: jdbc:hive2://node03:10000> select from_unixtime(1237573801, 'yyyy-MM-dd HH:mm:ss') as time_string;+----------------------+--+| time_string |+

2020-06-20 19:26:27 143

原创 【Hive】集合函数

函数名称返回值类型描述size(Map<K,V>)int返回map类型数据的长度size(Array)int返回array类型数据的长度map_keys(Map<K,V>)array返回map类型数据的键map_values(Map<K,V>)array返回map类型数据的值array_contains(Array, value)boolean判断value是否存在于array中sort_array(...

2020-06-20 10:53:06 81

原创 【Hive】动态分区插入

动态分区是指在插入数据时,无需指定分区键值,系统根据插入的数据,自动分配分区。动态分区需注意以下几点:需有一个同构的普通表做为源表;分区键值和源表字段之间是根据位置来判断的,而不是根据命名来匹配的;动态分区默认是关闭的,使用前要设置相关参数;下面是一个动态分区的例子:# 创建分区表和普通表# 上传数据文件到HDFS# 普通表导入数据# 使用动态分区插入数据到分区表中...

2020-06-18 21:51:38 128

原创 【Hive】Hive分区表

分区作为一种提高数据操作灵活性的手段,被广泛应用于关系型数据库中。在Hive中我们同样可以采用分区的方式来提高数据操作效率,和关系型数据库(如Oracle)所不同,Hive的分区表既可以是内部表,也可以是外部表。本篇文章主要介绍如何在Hive中创建分区表,外部表上的DDL操作,以及使用外部表的注意事项。1. 创建分区表1.1 创建内部分区表create table myhive.test_internal(id int) partitioned by (date string) row format

2020-06-15 23:20:58 163

原创 【Hive】Hive内部表/外部表

1. 建表语句Hive官网有详细的建表语句。CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Note: TEMPORARY available in Hive 0.14.0 and later) [(col_name data_type [column_constraint_specification] [COMMENT col_comment], ... [constraint_spec

2020-06-12 06:29:27 104

原创 【Hive】Hive的数据类型

Hive中数据类型可以分为基本数据类型和复合数据类型。这些数据类型都是用Java实现的。1. 基本数据类型类型名称描述举例booleantrue/falsetruetinyint1byte有符号整数30smallint2byte有符号整数30int4byte有符号整数30bigint8byte有符号整数30float4byte单精度浮点数1.0double8byte单精度浮点数1.0string字符串(无长度限

2020-06-11 21:02:25 108

原创 【Maven】win10系统安装Maven

本文主要介绍如何在win10系统上安装Maven操作环境:Windows10Maven版本: apache-maven-3.6.31. 下载Maven安装包打开Maven官网下载页面,下载如图安装包:2. 解压到安装目录请按实际情况选择安装目录,如安装到D盘:3. 复制Maven的bin目录4. 配置环境变量4.1 右键点击 “此电脑”,选择 “属性”4.2 点击...

2020-04-12 14:41:08 98

原创 【Kafka】测试Kafka整合Flume

本文将会简单介绍Kafka如何整合Flume,从而实现"日志 -> Flume -> Kafka"操作环境:Kafka版本:1.0.1Flume版本:1.6.0测试前需满足以下条件:已安装Kafka和FlumeKafka已启动1. 配置Flume的conf文件vi /home/hadoop/flume-kafka.conf#2. 创建Flume的监控目录...

2020-04-12 00:18:45 67

原创 【Kafka】命令行管理topic

1. 创建topic[hadoop@node03 bin]$ kafka-topics.sh --create --partitions 3 --replication-factor 2 --topic test --zookeeper node01:2181,node02:2181,node03:2181Created topic "test".参数说明:partitions: 指定...

2020-04-11 20:32:01 164 3

原创 【Flume】Flume简单介绍

1. 概述Flume是一个分布式、可靠和高可用的海量日志采集、聚合和传输系统。Flume可以采集多种数据,如:文件、socket数据包、文件夹、Kafka等,还可以将采集到的数据输出到HDFS、HBase、Hive等多种存储系统。[Flume官方网站](http://flume.apache.org/)有更详细的介绍。2. 运行机制Flume中最核心部分是agent,每个agent都是一...

2020-04-11 16:32:24 75

原创 【Hive】Hive的三种交互方式

1. Hive shell[hadoop@node03 ~]$ cd /kkb/install/hive-1.1.0-cdh5.14.2/[hadoop@node03 hive-1.1.0-cdh5.14.2]$ bin/hive2. JDBC2.1 后台先启动hive服务[hadoop@node03 ~]$ nohup hive --service hiveserver2 &...

2020-04-06 10:25:31 188

原创 【SQL】利用HAVING取众数和中位数

本篇文章介绍如何使用HAVING取数据集合的众数和中位数参考《SQL进阶教程》1. 创建测试表及测试数据CREATE TABLE graduates ( name varchar(255), income number(10) );INSERT INTO graduates VALUES ('桑普森', '400000');INSERT INTO graduates VA...

2020-03-29 10:25:19 3218 5

原创 【Hive】分桶表

1. 什么是分桶表分桶表是按照某列属性值,把数据打散存储在不同文件的Hive表.2. 分桶的原理Hive官网解释:How does Hive distribute the rows across the buckets? In general, the bucket number is determined by the expression hash_function(bucketing...

2020-03-28 20:53:19 115

原创 【Kafka】Kafka安装部署

前期环境准备准备好相应的服务器本文中服务器共三台: node01,node02,node03服务器已安装zookeeper集群Kafka安装步骤下载安装包下载地址: http://kafka.apache.org/downloads上传安装包到node01的指定目录请选择合适的工具上传,过程略.解压到指定目录tar -zxvf kafka_2....

2020-03-15 09:08:27 188

原创 【Spark】sparksql中使用自定义函数

代码中分别用面向对象和面向函数两种写法自定义了两个函数:low2Up: 小写转大写up2Low: 大写转小写import org.apache.spark.sql.types.StringTypeimport org.apache.spark.sql.{DataFrame, SparkSession}object SparkSQLFunction { def main(args...

2020-03-11 08:47:09 245

原创 【Flume】举例分析如何配置Flume

Flume非常灵活,日常工作中可以根据实际需求配置。如果大家不知道Flume支持哪些配置,那么可以关注Flume官网。在Configuration标签下有Flume Source,Flume Sinks,Flume Channels,分别对source、sink、channel组件的配置做了详细介绍。我们在配置的时候参考官网,稍加改动即可。下面就对常见配置方式举例分析:1.网络采集ag...

2020-02-23 21:04:52 129

原创 【Sqoop】sqoop导入导出

本文简单介绍Sqoop如下操作:Import:​ rdbms导入HDFS;​ rdbms导入Hive;​ rdbms导入Hbase;Export:​ Hive导出到rdbms;​ Hbase导出到rdbms;其中,rdbms以mysql数据库为例。环境准备mysql中建库、建表并插入测试数据:create database userdb;use userdb;creat...

2020-02-22 00:19:20 122

原创 【Sqoop】Sqoop job实现增量导入的原理

我们在使用Sqoop的增量导入时,需要配置三个参数:假设有这样的场景:使用Sqoop每天定时导出一张表(emp)的增量数据,其中emp的id列为自增列。那么此时有两种方式实现:(1) 每天收工配置last-value,手工调度;(2) 使用job,给定初始last-value,每天定时自动跑;相信大多数人会选择(2)种方式。为什么job可以给定一次last-value就可以自动抽取...

2020-02-21 20:21:32 809

原创 【HBase】Java API - 向表中插入数据

import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.TableName;import org.apache.hadoop.hbase.client.Connection;import org.a...

2020-02-15 22:25:27 395

原创 【HBase】创建表-Java API操作

import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apache.hadoop.hbase.HColumnDescriptor;import org.apache.hadoop.hbase.HTableDescriptor;impor...

2020-02-15 22:02:05 559

原创 【汇编语言】进制转换

十进制转二进制1.整数除二取余,倒着写如:十进制9转换二进制9 ÷ 2 = 4…14 ÷ 2 = 2…02 ÷ 2 = 1…01 ÷ 2 = 0…1倒写余数,所以十进制9转换为二进制为:10012.小数乘二取整,顺序写如:十进制0.5转换二进制首先要明白,十进制小数转二进制仍然为小数,所以二进制左边 为0.xx0.5 × 2 = 1.0 取整数部分“1”此时小数...

2020-02-15 14:36:54 479

原创 【Hive】多字符分隔

在创建Hive表时,一般我们会指定字段间的分隔符,如空格,\t,逗号等,这些是都单字符。那么,如果我们想要按照多个字符分隔,如##,|+|等,这时候就要用到如下两种方式:MultiDelimitSerDe解决多字符分隔创建表0: jdbc:hive2://node03:10000> create table test1 (id string, name string). . . ...

2020-02-09 11:22:52 197 1

原创 【MapReduce】MapReduce工作机制

一个mapreduce作业,一般分为两阶段执行:map阶段和reduce阶段,下面分别对这两阶段进行介绍。Map阶段Map阶段又分为五部分:读取文件阶段,MapTask阶段,collect阶段,溢写阶段,combine阶段。首先客户端把待处理文件分片信息、jar包信息、参数信息等提交到HDFS。然后Yarn集群接受任务,启动AppMaster把任务分配NodeManager,并由NodeM...

2020-02-09 00:44:53 166

原创 【MapReduce】编程指导思想

MapReduce编程思想共分为8步:map阶段:2步shuffle阶段:4步reduce阶段:2步Map阶段第一步: 设置inputFormat类,将数据切分为k-v对,输入到第二步;第二步:自定义map逻辑,处理第一步中生成的k-v对,然后转换成新的的k-v进行输出;Shuffle阶段第三步:对输出的k-v进行分区,相同k的数据发往同一个reduce,相同k合并,v形成一个集合...

2020-02-08 16:24:13 127

原创 【Yarn】工作机制及任务提交流程

本文以mr程序为例,解释yarn的工作机制及任务提交流程:0. mr程序提交任务到客户端所在节点;1.节点上的YarnRunner向ResourceManager申请一个Application;2. ResourceManager会把Application资源路径及application_id返回YarnRunner;3. 该程序将job运行所需资源提交到HDFS;4. 资源提交完毕后,...

2020-02-08 10:33:43 435

原创 【Hive】数据导出

Hive版本:Hive 1.1.0-cdh5.14.2INSERT导出到目录官方链接Standard syntax:INSERT OVERWRITE [LOCAL] DIRECTORY directory1[ROW FORMAT row_format] [STORED AS file_format] (Note: Only available starting with Hive 0....

2020-02-08 09:38:44 140

原创 【Hive】数据导入方法

Hive版本:Hive 1.1.0-cdh5.14.21. INSERT插入1.1 单条插入INSERT INTO TABLE tablename [PARTITION (partcol1[=val1], partcol2[=val2] ...)] VALUES values_row [, values_row ...]举例如下:0: jdbc:hive2://node03:10000...

2020-02-06 11:21:10 96

原创 【Hadoop2.6】Yarn中任务调度器

概述Yarn中有三种任务调度器:FIFO调度器(FIFO Scheduler)、容量调度器(Capacity Scheduler)、公平调度器(Fair Scheduler)。任务调度器介绍1.FIFO调度器FIFO调度器将应用放在一个队列里,按照“先进先出”的原则为应用分配资源。优点:简单易用,不需要任何配置;缺点:不适合共享集群。大应用占用集群所有资源,所以每个应用只能...

2020-01-17 11:43:34 126

原创 【HDFS】hdfs与fsck结合使用

1.获取全部参数[hadoop@node01 ~]$ hdfs fsckUsage: DFSck <path> [-list-corruptfileblocks | [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]]] [-maintenance] <path...

2020-01-07 21:15:53 115

原创 【HDFS】HDFS与dfsadmin结合使用

1.获取所有参数[hadoop@node01 ~]$ hdfs dfsadminUsage: hdfs dfsadminNote: Administrative commands can only be run as the HDFS superuser. [-report [-live] [-dead] [-decommissioning]] [-saf...

2020-01-07 20:59:06 119

SOWC 2014 Stat Tables_Table 9.xlsx

《Python 数据处理》第四章Excel实验文件,用于测试童工和童婚数量分析。

2018-05-15

population_data.json

用Python练习做世界人口地图的文件。《Python编程:从入门到实践》,数据可视化经典案例所需文件。

2017-10-19

Python Indent插件

此插件用于解决python自动缩进问题。 1. 解压压缩包 2. 把Python Indent文件夹和Python Indent.dll放在notepad++安装目录的plugins文件夹下 3. 重启notepad++ 4. 依次点击 插件--Python Indent--Enable,将Enable打钩 5. 问题解决

2017-09-08

NextAction的留言板

发表于 2020-01-02 最后回复 2020-04-23

oracle在排序字段都相同时按什么排序?

发表于 2019-11-11 最后回复 2020-03-17

利用binlog实现mysql和posgresql同步

发表于 2018-11-19 最后回复 2018-11-19

博客主页显示博文数量和实际不符

发表于 2017-09-28 最后回复 2017-09-29

空空如也

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

TA关注的人 TA的粉丝

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