自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

彩虹柠檬水

键盘为琴,代码做谱,编程之路,且歌且行。

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

原创 MySQL建立索引的重要性

最近有一个数据分析的需求,需要对两张表进行匹配分析,一张几十万条数据,另一张几百万条数据。如果不加思考,直接开始写sql进行匹配,发现数据处理速度非常慢,一度以为mysql卡死了。尝试在匹配字段上建立索引后,某一条数据与百万级千万级数据匹配也是几秒内出结果。mysql默认会对主键列建立索引,查看现有索引的方法:show index from tableName在已有表上对某一列建立新的索...

2020-02-21 18:51:58 288

原创 MySQL根据操作记录清洗数据

大数据时代,不同机构、部门之间数据共享越来越频繁。常见的一种数据共享方式是推送明细数据的操作记录,即一条数据发生变化时就推送,比较适合增量数据的共享。这时,共享的数据流更像是一种操作记录,除业务字段外还有“操作”字段,标识这条数据是insert、update 或者delete。对这种数据的清洗,更接近于一种还原,即还原成数据原本的样子。本文介绍一种清洗此类数据的思路和方法。首先,为了便于记录,...

2020-02-21 18:42:08 592

原创 MySQL分组更新

业务需求:有时我们希望所有字段A的值相同的数据行,字段B的值也相同。这里并不要求字段B的值是什么,只是要求保持统一即可。示例数据表:testtable iid snum sname 1 10 A 2 12 A 3 18 A 4 20 B 5 25 ...

2018-08-14 15:54:30 2651 1

原创 Linux环境下python连接impala

操作系统:linux mint 18.3 cinnamon 64bitPython环境:python2.7(系统自带)1.安装python-dev,命令如下:apt-get install python-dev2.安装python依赖包,将相应的包下载下来,然后使用pip命令安装:pip install six-1.9.0.tar.gzpip install bi...

2018-06-05 14:35:30 1595

原创 通过MySQL事件实现定时操作

1.首先查看MySQL event事件是否开启执行SQL语句如下:show variables like '%sche%';查看event_scheduler是否为ON,如果不是,执行如下SQL语句开启:set global event_scheduler = 1;2.创建事件执行任务执行SQL语句如下:DELIMITER |DROP event IF E...

2018-05-09 14:59:48 223

原创 windows环境下python连接impala

操作系统:windows 7(64位版本)python环境:python 2.7(32位版本)1.安装python-2.7.14.msi2.安装VCForPython27.msi3.安装python依赖包,将相应的包下载下来,然后使用pip命令安装:pip install six-1.9.0.tar.gzpip install bitarray-0.8.1.tar.gzpi...

2018-04-19 11:15:19 2041

原创 修改Linux系统时间

1.使用如下命令设置系统时间date -s "2018-03-30 20:30:00"2.将当前时间写入BIOS,避免重启失效hwclock -w3.将系统时钟同步到硬件时钟hwclock --systohc

2018-03-30 22:13:14 1854

原创 Linux环境下Flask部署至apache

一、系统环境Linux Mint 18.3 Sylvia python 2.7.12 apache 2.4.18二、软件安装1.python一般linux会自带python环境,建议使用python2,如果没有安装可以使用如下命令安装pythonapt-get install python2.flask使用如下命令安装flaskpip install f...

2018-03-28 11:43:13 5484 1

原创 windows远程桌面连接linux

虽然可以通过ssh的方式连接linux,但是有图形界面会更加方便。下面介绍如何配置linux(以ubuntu为例)使得可以远程桌面登录。1.安装软件 执行如下命令:sudo apt-get install xrdpsudo apt-get install vnc4server tightvncserver2.设置xrdp 执行如下命令:echo "gnome-sess...

2018-02-08 09:01:53 1160

原创 ubuntu设置ssh登录

目的:实现ssh的方式登录ubuntu系统。1.启用root用户 ubuntu默认是不启用root用户的,执行以下命令设置root密码:sudo passwd root执行以下命令测试是否可以进入root用户:su root2.安装ssh-server服务 执行以下命令安装ssh-server服务:sudo apt-get install openssh-s...

2018-02-08 08:48:27 3341

原创 Python 2.7 UnicodeDecodeError

python 2.7 有时会遇到UnicodeDecodeError,这是由于python的ascii编码和unicode编码冲突,解决办法是在报错的py文件中添加下面的代码:import sysreload(sys)sys.setdefaultencoding('utf8')

2018-01-18 14:40:09 661

原创 windows环境下Django安装

安装环境:windows7(64位)python版本:2.7.14(32位)进入cmd命令行,执行命令:pip install Django==1.11注:Django支持python2.7的最后版本是1.11检查是否安装成功,cmd命令行中进入python模式,输入以下命令:import djangodjango.get_version()如果输出了django

2018-01-17 14:09:22 245

原创 Navicat for MySQL定时备份数据库

1.打开navicat for mysql,打开某个数据库,点击工具栏“计划”——“新建批处理作业”。2.对话框中的可用任务,一般是Backup+数据库的名字,双击该任务,并点击“保存”,输入名称。3.点击备份任务名,再选择工具栏的“设置计划任务”。4.在对话框中选择“计划”——新建,可以设置定时任务。5.最后点击“应用”,需要输入开机密码,再点确定就可以了。

2018-01-11 14:31:26 489

原创 windows环境下定时执行python程序

python很强大,定时执行python程序可以很方便的处理很多日常任务,下面介绍windows环境下如何定时执行python程序。1.打开控制面板—系统和安全—计划任务。2.点击右侧的“创建基本任务”,输入任务名称和可选的描述。3.点击下一步,设置任务的开始时间,可以选择每日执行、每周执行或每月执行。4.点击下一步,“操作”选择“启动程序”,点击下一步输入参数。程序或脚本:p

2018-01-08 18:35:45 900

原创 windows环境下python MySQLdb安装

操作系统:windows 7 或者 windows server 2012(这两个试过确实可行)请按如下顺序安装软件,无论windows是32位还是64位的,下列软件都选择32位的安装。推荐使用附带的百度云链接下载,也可自行下载。安装软件:python 2.7 VCForPython27.msi mysql-connector-c MySQL-python-1.2.5

2018-01-08 18:16:24 411

原创 mysql开启远程访问权限

1.修改mysql配置进入mysql命令行模式,输入如下命令:grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;flush privileges;注:命令中的password替换成你的mysql密码。2.修改防火墙配置控制面板-防火墙-高级设置-入...

2017-10-11 11:08:00 4832

原创 Spring多数据源的配置

1.业务需求在项目开发中,经常会遇到需要操作多个数据源的情况,比如数据同步,在数据库A中增加数据的同时写入数据库B。这就需要做到可以配置多个数据源,并做到动态切换数据源。2.多数据源配置首先是多数据源的配置,在applicationContext.xml文件中。 主要配置代码如下: <!-- 定义数据源的信息 --> <bean id="parentDataSource" cla

2017-07-04 11:34:28 420

原创 Web页面抽离通用模块

在web开发中,很多页面可能会有很多相同的代码。比如导航栏、菜单栏、页脚等部分。如果在每个页面单独编写代码,如果需要调整的时候,就需要每个页面改一遍,不仅工作量很大,也容易出错。解决办法就是将这些部分抽离出来单独建立文件,然后需要的时候引入。以JSP页面为例,可以将导航栏部分放入到header.jsp文件中,示例代码如下:<%@ page language="java" contentType="t

2017-07-04 10:50:08 930

原创 Java使用json需要的jar包

在Java代码中使用JSONObject和JSONArray时,需要加入json-lib的jar包,这时代码不会报错,但运行时会报错 (org.apache.commons.lang.exception.NestableRuntimeException)。原因是json-lib(以json-lib-2.4-jdk15.jar为例)还依赖以下jar包:commons-lang-2.3.jarcomm

2017-07-04 10:28:58 1145

原创 Java 登录过滤器

用户登录模块看似很简单,但有时候我们仅仅实现了用户的登录验证——即是不是有这个用户,密码对不对。但是我们并没有防止用户跳过登录页面直接访问其他内容的控制机制。登录过滤器通过对用户访问的URL进行判断是否已处于登录状态,来控制用户的访问。要实现登录过滤器主要有以下几个步骤。1.保存session在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个

2017-07-04 09:54:07 1630

原创 远程终端工具推荐

1.免费小巧的puttyPutty是一个免费的、Windows x86平台下的Telnet、SSH和rlogin客户端,其主要优点如下:完全免费 全面支持SSH1和SSH2 绿色软件,无需安装,下载后在桌面建个快捷方式即可使用 体积很小,仅519KB(0.67 版本) 操作简单,所有的操作都在一个控制面板中实现2.MobaXtermMobaXterm一款豪华、全功能的终端软件,界面优

2017-07-04 09:32:09 1742

原创 MySQL timestamp字段插入问题

MySQL timestamp字段插入问题 mysql的timestamp字段可以设置默认值current_timestamp,如果该字段设置成not null(不允许空),那么插入时会自动写入当前的时间;如果该字段设置成null(允许空),插入时不要指定该字段,那么系统会自动设置成默认值current_timestamp.

2017-06-23 10:02:30 18088 1

原创 github更新fork之后的项目代码

在github上fork一个项目后,如果原始项目有了新的commit,如何将这些新增的commit合并到自己的项目里?以下步骤建立在你已经将自己fork后的项目代码clone到本地的前提下。1.首先确认一下是否已建立了原始项目的远程源:git remote -v如果只能看到自己origin的两个源(fetch和push),则需要添加原始项目的远程源。2.添加原始项目的远程源:git remote a

2017-04-05 20:00:37 603

原创 JDK+MyEclipse+Tomcat配置

**1.软件准备** JDK 1.6 MyEclipse 8.5 (32位版本百度云下载地址:http://pan.baidu.com/s/1eSNnCNC) Tomcat 6.0 (免安装版百度云下载地址:http://pan.baidu.com/s/1kUYs7MB)**2.安装JDK** 此处安装jdk1.6.0到C:\Program Files\Java文件夹下,之后进行环境变量的配

2016-07-15 10:57:35 341

原创 Git忽略指定文件

有时候,我们并不需要git管理所有的文件,比如Java项目中的.class文件。很多版本管理工具都有忽略指定文件、指定类型文件的功能,git也不例外。要让git忽略指定文件,只需在项目的根目录下创建一个.gitignore文件,把需要忽略的内容写进去即可。假设我们不小心将helloworld项目的.class文件都上传到github上了怎么办?没关系,只需几步就可以解决。首先,我们在github上的

2016-07-11 11:59:28 799

原创 本地Git项目上传至GitHub

对于之前已经存在的项目,如果我们想上传到github,并继续修改,该如何做呢?首先,在本地打开git bash,进入项目目录(本文以一个Java项目helloworld为例),输入命令:git init这时我们就开始用git来管理项目了。此时,我们需要将这个项目的所有文件放入git的暂存区,输入命令:git add -A这样所有的文件就都放入暂存区了。接下来,提交到本地分支上,输入命令:git co

2016-07-11 11:34:09 328

原创 Git与GitHub的使用

本文主要讲解如何使用git来管理github上的代码。1.安装Git以Windows平台为例,从https://git-for-windows.github.io/上下载。这里提供32位git的百度云下载地址:http://pan.baidu.com/s/1bpfubwz安装完成后,打开Git Bash,输入git config --global user.name "na

2016-07-08 18:47:28 384

原创 Wampserver

首先介绍一下LAMP和WAMP。LAMP: Linux+Apache+MySQL+PHPWAMP:Windows+Apache+MySQL+PHPLAMP和WAMP是在Linux系统和Windows系统上搭建动态网站或服务器的一组常用开源软件。这些软件可以独立安装,有的人为了省事,便可以安装集成环境。Wampserver便是这样一款整合软件包,提供windows环境下的web服务环

2016-07-08 18:06:05 1658

原创 Hive快捷查询

在hive中,当你查询某一列时,默认情况下hive是会启用Mapreduce Job来完成这个任务,耗费的时间比较长。对于这个问题,从Hive0.10.0版本开始,对于简单的不需要聚合的类似SELECT from LIMIT n语句,不需要起MapReduce job,直接通过Fetch task获取数据。可以通过修改hive-site.xml配置文件来开启Fetch task.

2015-11-06 15:24:47 470

原创 Hive动态分区

在hive中,可以通过分区进行性能优化,通过此过程数据将以某个字段进行分片存储,从而缩小查询的扫描范围,提高查询速度。hive分区可分为静态分区和动态分区。静态分区和动态分区的区别在于导入数据时,是手动输入分区名称,还是通过数据来判断数据分区。对于大数据批量导入来说,显然采用动态分区更为简单方便。使用hive动态分区,可分为以下步骤:1.修改配置文件hive-site.xml以支持动态

2015-11-06 15:02:11 837

原创 JDBC方式远程操作hive

Hive是一个类SQL的框架,通过使用JDBC方式远程操作hive,可以更灵活的编程。1.导入所需jar包2.开启hiveserver2服务进入到linux的hive安装目录下,执行命令:nohup bin/hive --service hiveserver2 &3.在Eclipse中编写JDBC连接代码1) Class.forName("org.apache.

2015-11-06 10:49:08 518

原创 sqoop导入oracle数据至hive

一、目的将oracle数据文件dmp中的数据导入到hive中。目标分解:由于已有的数据都在dmp文件中,因此要先将dmp文件中的数据导入到oracle中,再将oracle中的表导入到hive中。二、dmp文件导入到oracle数据库dmp文件:只有一个不知来源的dmp文件,不知道从哪个数据库中导出的,也不知道导出用户是谁。(不要紧,后面可以根据错误提示一步步改)oracle

2015-11-05 20:17:12 3646

原创 Java研发工程师·知识汇总

Java开发工程师岗位,关于Java的知识主要有三部分。一是Java语言的知识,如果能读透《Java编程思想》就ok了;二是Java Web开发的知识,主要是SSH框架;三是Java虚拟机的知识,推荐《深入理解Java虚拟机》这本书。

2015-08-20 19:42:46 683

转载 标准JavaBean规范

1、JavaBean必须是一个公开的类,也就是说JavaBean的类访问权限必须是public的。2、JavaBean必须是具有一个无参数的构造方法。如果在JavaBean中定义了自定义的有参构造方法,就必须添加一个无参数构造方法,否则将无法设置属性,如果没有定义自定义的有参构造方法,则可以利用编译器自动添加的无参构造方法。3、JavaBean一般将属性设置成私有的,通过使用get

2015-07-14 17:13:36 1038

转载 Linux下执行py文件

方法一:在终端中输入命令:python  **.py 即可方法二:赋予py文件执行权限:chmod 755 **.py在py文件的开头加上如下注释:#!/usr/bin/env python在终端下运行:./**.py 即可

2015-05-31 11:33:57 19906

原创 Spark-1.3.1集群环境搭建

一、实践环境Ubuntu14.04 + JDK1.8.0_25 + Hadoop2.5.1+Scala2.11.6+Spark1.3.1一共三台linux机器(virtualbox虚拟机,桥接网络配置静态ip),已经部署好hadoop完全分布式环境。 二、安装scala1.下载scala-2.11.6.tgz2.将scala-2.11.6.tgz解压到/home/jsj/s

2015-05-13 16:32:22 740

原创 Linux下编写运行自己的WordCount程序

一、实践环境Ubuntu14.04+JDK1.8.0_25 +Eclipse3.8+ Hadoop2.5.1一共三台linux机器(virtualbox虚拟机,桥接网络配置静态ip),已经部署好的完全分布式环境。二、编写WordCount程序1.启动Eclipse,创建Java Project。2.配置Java Project,这一步很重要,折腾了半天才配好

2015-04-29 09:47:46 2035

原创 Professor Q's Software Java版本

题目描述:#1136 : Professor Q's Software时间限制:10000ms单点时限:1000ms内存限制:256MB描述Professor Q develops a new software. The software consists of N modules which are numbered from

2015-04-23 10:10:39 645

转载 动态规划~概念理解

动态规划(dynamic programming)1.动态规划是运筹学的一个分支,是求解决策过程(decision process)最优化的数学方法。2.任何数学递推公式都可以直接转换成递归算法,但是基本现实是编译器常常不能正确对待递归算法,结果导致低效的程序。当怀疑很可能是这种情况时,我们必须再给编译器提供一些帮助,将递归算法重新写成非递归算法,让后者把那些子问题的答案系统地记录在一个表

2015-04-21 20:43:13 586

原创 LeetCode Triangle Java版本

题目描述:Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.For example, given the following triangle[ [2]

2015-04-21 16:15:53 500

空空如也

空空如也

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

TA关注的人

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