自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kw-home

人生若只如初见

原创 Hadoop2.7.3搭建单机、伪分布环境

1.下载jdk并安装去官网下就可以了,下完之后把文件移到/opt/Java下[plain] view plain copyguo@guo:~/下载$ mv ./hadoop-2.7.2-src.tar.gz /opt/Hadoop/  mv: 无法创建普通文件"/opt/Hadoop/h...

2017-12-05 10:45:16 1160 0

原创 spring+mybatis useGeneratedKeys返回主键

在数据库操作中,当我们插入数据时往往需要当前插入数据的主键id,初学时比较笨,在插入之后再做一遍查询来获取id,这样会出现很多的问题。其实java提供了useGeneratedKeys方法,可以直接返回id,直接上代码: 正常插入语句是这样的 <insert id="ad...

2019-11-26 15:38:10 310 0

原创 Java多线程——FutureTask+ExecutorService

1.Java并发编程:Callable、Future和FutureTask 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来...

2019-10-30 18:41:32 56 0

原创 Spring——IOC(控制反转)、DI(依赖注入)

一、概述 1.1、IoC是什么   Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什...

2019-09-27 18:03:04 46 0

原创 SpringBoot + Cache缓存

本文介绍Spring boot 如何使用redis做缓存,如何对redis缓存进行定制化配置(如key的有效期)以及spring boot 如何初始化redis做缓存。使用具体的代码介绍了@Cacheable,@CacheEvict,@CachePut,@CacheConfig等注解及其属性的用法...

2019-08-29 19:10:08 66 0

原创 SpringBoot常用注解

一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让springBoot扫描到Configuration类并...

2019-07-30 19:07:18 91 0

原创 SpringBoot整合Mybatis完整详细版

IDE:idea、DB:mysql 新建一个Spring Initializr项目 创建项目的文件结构以及jdk的版本 选择项目所需要的依赖,包括web和SQL两大类 修改项目名,finish完成 来看下建好后的pom <?xml version="1...

2019-06-12 17:53:46 10265 1

原创 mysql实现窗口函数功能

有时候我们想要得到每个分组的前几条记录,这个时候oracle中row_number函数使用非常方便,可惜MYSQL从8.0版本开始才支持窗口函数。本文介绍一些通过sql实现窗口函数效果的方法。 1.利用用户变量实现数据自增 表flow_task有phaseno(序列号),objectno(编号...

2019-04-22 14:19:41 1438 0

原创 Hbase批量查询-scan介绍

1.scan原理 HBase的查询实现只提供两种方式: 1、按指定RowKey 获取唯一一条记录,get方法(org.apache.hadoop.hbase.client.Get) Get 的方法处理分两种 : 设置了ClosestRowBefore 和没有设置的rowlock .主要是用来...

2019-04-16 14:32:06 4128 2

原创 手机号码归属地查询接口

1、淘宝网((精确到省份) API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=手机号码 2、百度(精确到地市) API地址:http://mobsec-dianhua.baidu.com/dianhua_api/ope...

2019-03-26 10:13:54 522 0

原创 Phoenix简介

HBase 提供很方便的shell脚本,可以对数据表进行 CURD 操作,但是毕竟是有一定的学习成本的,基本上对于开发来讲,sql 语句都是看家本领,那么,有没有一种方法可以把 sql 语句转换成 hbase的原生API呢? 这样就可以通过普通平常的 sql 来对hbase 进行数据的管理,使用成...

2019-03-12 15:57:49 336 0

原创 Python执行系统命令的方法

1.os.system 使用os.system(cmd)即可在python中使用linux命令 os.system(cmd)的返回值。如果执行成功,那么会返回0,表示命令执行成功。否则,则是执行错误。 使用os.system返回值是脚本的退出状态码,该方法在调用完shell脚本后,返回一个1...

2019-03-12 15:51:00 4564 0

原创 Hadoop HA高可用集群搭建及常见问题处理

最近研究了下公司的hadoop集群并模仿搭建了一个在本地测试使用的hadoop集群。本文介绍下详细的搭建过程以及各种常见问题的处理解决。  1 ,  前期准备 1.1  ,  准备Linux环境,配置虚拟机网络环境,修改虚拟机IP地址(最好使用第一种配置,简单且不容易出错)         ...

2019-02-13 18:58:57 314 0

原创 Python的datetime模块详解

datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1. datetime模块定义了5个类,分别是 1.datetime.date:表示日期的类 2.datetime.datetime:表示日期时间的类 3.date...

2019-02-13 12:18:24 636 1

原创 Linux内存信息详解

1. top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。   可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:   ...

2019-01-16 11:18:48 1625 0

原创 python 获取环境变量

用Python Shell设置或获取环境变量的方法: 一、设置系统环境变量 1、os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型 2、os.putenv('环境变量名称', &#...

2019-01-15 16:07:22 2417 0

原创 Hbase存储详解

Hbase存储详解 一、概述   Hbase是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。   它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。...

2018-12-22 16:47:53 584 0

原创 python爬取淘宝商品信息

本文实现了用python爬取淘宝信息的功能,主要涉及访问网页、正则匹配、json格式化等技术。 # -*- coding: utf-8 -* import requests # import bs4 import re import json def open(keywords, pag...

2018-12-22 14:21:46 1058 0

转载 Apache 流框架 Flink,Spark Streaming,Storm对比分析

1.Flink架构及特性分析 Flink是个相当早的项目,开始于2008年,但只在最近才得到注意。Flink是原生的流处理系统,提供high level的API。Flink也提供 API来像Spark一样进行批处理,但两者处理的基础是完全不同的。Flink把批处理当作流处理中的一种特殊情况。在F...

2018-12-06 12:13:02 400 0

原创 Python Excel 导出 + 发送邮件

一、依赖模块 1.excel导出依赖xlwt或者xlsxwriter xlwt只能支持65535行,较大数据量可以选用xlsxwriter; python 字符默认是ascii编码,导出时转化为udf-8格式 2.发送邮件依赖smtplib 发送附件时,必须用starttls(),保证安...

2018-12-03 20:44:31 1459 0

原创 python实现Phoenix批量导入数据

官网文档: Phoenix provides two methods for bulk loading data into Phoenix tables: · Single-threaded client loading tool for CSV formatted data via the ...

2018-11-14 17:18:13 956 0

原创 Hive几种数据导入方式

一、从本地文件系统中导入数据到Hive表 先在Hive里面创建好表,如下: hive&gt; create table wyp &gt; (id int, name string, &gt; age int, tel string) &a...

2018-10-23 17:43:45 333 0

原创 shell获取日期

1.通过shell获取当前8位日期,并赋给变量,并且使用变量作为文件名,建立文件夹 ls_date=`date +%Y%m%d` mkdir ${ls_date} 获取日期注意事项:date +%Y%m%d 这个字符串是被英文状态下的ESC下面那个键。 获取变量注意事项:必须有$与{变量名...

2018-04-10 11:07:20 832 0

转载 IntelliJ IDEA 2017激活(Mac版本)

1. 下载JetbrainsCrack-2.6.2.jar链接:http://pan.baidu.com/s/1eRJkOcq 密码:a4ji12这个是我使用的IntelliJ IDEA 2017版本下载地址链接:http://pan.baidu.com/s/1kVHoZ5t 密码:weu...

2018-03-27 14:30:24 1038 0

转载 spark的kafka的低阶API createDirectStream

大家都知道在spark1.3版本后,kafkautil里面提供了两个创建dstream的方法,一个是老版本中有的createStream方法,还有一个是后面新加的createDirectStream方法。关于这两个方法的优缺点,官方已经说的很详细(http://spark.apache.org/d...

2018-03-08 14:21:21 545 0

转载 Spark 核心 RDD 剖析

本文将通过描述 Spark RDD ——弹性分布式数据集(RDD,Resilient Distributed Datasets)的五大核心要素来描述 RDD,若希望更全面了解 RDD 的知识,请移步 RDD 论文:RDD:基于内存的集群计算容错抽象RDD是Spark的最基本抽象,是对分布式内存的抽...

2018-03-06 09:52:37 490 0

原创 Java实现“推荐注册,获得奖励”算法

应用场景:推荐新用户注册A会员推荐B注册,即赠送A会员100积分,B会员推荐C会员注册,赠送A会员50积分、B会员各100积分,依次类推,只要A发展的会员继续发展下面的会员,A都可以获增相应的积分。 package com.enn.test; import java.util.ArrayList...

2018-03-05 18:29:57 1865 0

原创 Hive和关系型数据库的区别

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类sql语句的查询功能;Hive使用Hql作为查询接口,使用HDFS存储,使用mapreduce计算;Hive是非关系型数据库即NoSQL(Not Only SQL)。关系数据库,是建立在关系模型基础上的数据库...

2018-03-05 11:10:34 1841 0

转载 解决Spark应用日志级别设置

最近在研究Spark的相关知识,本地搭建了一个开发环境Windows7+Eclipse+JDK1.7。一. 日志效率原因开发时,控制台输出一大堆日志信息,严重影响查看日志效率。从控制台输出日志我们可以看出,应用程序是默认加载Spark-core包下面的log4j-defaults.properti...

2018-03-01 14:07:16 5439 0

原创 redis安装配置

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。1、先到Redis官网(redis.io)下载redis安装包 2、解压并进入其目录  3、编译源程序。由于redis是C语言编写,因此需要编译。如果执行...

2018-02-28 16:09:45 359 0

原创 kafka+zookeeper安装配置

1、安装zookeeper步骤1:下载并解压zookeeper安装包tar -zxvf zookeeper-3.4.11.tar.gz 步骤2:配置环境变量 export ZOOK=/opt/hadoop/zookeeper-3.4.11 步骤3:配置文件 zoo.cfgcd conf/ 复制配置...

2018-02-26 14:55:30 5922 0

原创 SSM框架(三)——Mybatis多表关联查询

本文介绍ssm框架中mybatis实现多表关联查询的问题。主要修改mapper.xml和Entity定义两个地方,mapper.xml中需要定义返回格式,而Entity里定义关联表类的相互引用等关系。 一、一对一关联  1.1、提出需求   根据班级id查询班级信息(带老师的...

2018-01-15 16:03:48 14328 5

原创 SSM框架(二)——Mybatis传多个参数

本文介绍三种方法: 1)用下标代替 DAO层的函数方法  Public User selectUser(String name,String area);对应的Mapper.xml   select * from user_user_t where user...

2018-01-15 15:54:21 2046 0

原创 Eclipse部署Tomcat项目

本文实现Eclipse部署Tomcat项目。项目组给力git框架,由于第一次操作,踩了很多坑,以下做一些记录。 1.下载git项目。 1)常规方法: (1)File->import->Git->project from git 选择“Colne URI...

2018-01-11 11:31:40 3797 0

原创 SpringBoot实战(二):数据库Mysql

一,建立spring-boot-sample-mysql工程 1、http://start.spring.io/      A、Artifact中输入spring-boot-sample-mysql      B、勾选Web下的web      C、勾选SQL下的JPA MYSQL ...

2018-01-09 18:24:01 799 0

原创 SpringBoot实战(一)Hello World

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application ...

2018-01-09 18:13:08 629 0

转载 Spark源码解读之SparkContext初始化

SparkContext初始化是Driver应用程序提交执行的前提,这里以local模式来了解SparkContext的初始化过程。 本文以 val conf = new SparkConf().setAppName(“mytest”).setMaster(“local[2]”) val s...

2018-01-04 19:01:00 796 0

原创 Java API实现向Hive批量导入数据

Java程序中产生的数据,如果导入oracle或者mysql库,可以通过jdbc连接insert批量操作完成,但是当前版本的hive并不支持批量insert操作,因为需要先将结果数据写入hdfs文件,然后插入Hive表中。 package com.enn.idcard; import java....

2017-12-27 18:24:39 10394 3

翻译 Hive官方文档-Hive Tutorial

Hive Tutorial Hive TutorialConcepts  What Is HiveWhat Hive Is NOTGetting StartedData UnitsType SystemBuilt In Operators and FunctionsLanguage Capab...

2017-12-22 11:24:56 1097 0

转载 基于TCP协议的Socket通信实例(JAVA)

1、首先先来看下基于TCP协议Socket服务端和客户端的通信模型:   Socket通信步骤:(简单分为4步) 1.建立服务端ServerSocket和客户端Socket 2.打开连接到Socket的输出输入流 3.按照协议进行读写操作 4.关闭相对应的资源   2、相关联的...

2017-12-19 10:32:46 13059 0

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