自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 SQL30问

第一问:SQL是什么?SQL (Structured Query Language)是一门结构化查询语言,它遵循美国的ANSI的标准,多用于对数据库包括数据库中的数据进行操纵,如SELECT,UPDATE,DELETE,DROP等。第二问:数据库是什么?数据库是用来存储数据信息的地方,并提供数据排序、检索的能力。第三问:数据库和数据仓库的区别是什么?数据库(OLTP):主要是指传统的关系型数据库的应用,包括基本的、日常的事务的处理,更关注的是业务交易数据的处理。...

2020-08-07 15:31:35 209

原创 是NOSQL还是NEWSQL

近几年随着大数据生态圈的不断发展,NOSQL也随之声名鹊噪,甚至有超宇传统关系型数据库的风头。不光说的人多了,用到的地方也逐渐增多,尤其做作为大数据生态圈中的一员,被用到越来越多的地方。今天就跟大家捋一捋NOSQL产生的背景以及发展历程,顺便看看这个SQL到底是应该叫NOSQL还是NEWSQL?NOSQL产生的历史背景许多人可能认为NOSQL不过是传统关系型数据库的一个分类,其实不然。NOSQL起步并不晚于传统关系型数据库。几乎在E.F. Codd提出关系型理论的同时NOSQL也出现了,.

2020-08-05 11:25:10 493 1

原创 数据人必须知道的SQL概念(A-Z)

作为数据从业者,大家用的最多的应该就是SQL语言了,那么除了日常的select,你还了解哪些SQL相关的概念呢?今天就按照字母表的顺序(A-Z)来给大家简单介绍一下数据人必须知道的SQL概念大全。A:Alias别名,包含表的别名和列的别名。在哪些场景下我们需要用到别名呢?通常是多表join的时候表名过长,多次引用书写比较麻烦的时候我们会给表起一个别名;另外就是表join的时候,如果多个表中有重复的列名而且我们都需要提取出来的时候也需要别名;再则就是列级的别名,通常我们是给表中的列取一个“有意.

2020-08-04 10:48:34 1080

原创 运营必看SQL(中)—写好SQL的“六脉神剑

写在前面:如果你是一名程序员又恰好是一名SQLBOY的话,那么请移步,因为下面讲的实在太精彩但不专业;如果你是一名想学会写好SQL的运营,那么你一定要认真来读。本文用形象的的语言介绍写好SQL六大必须掌握的招式,每一式都是你写好SQL的关键。可能你之前只是会用之前的一招或者两招,下面教你的是如何六招联用,发挥无穷法力。第一式(WHERE):少商剑,剑路雄劲,颇有石破天惊,风雨大至之势中文意思,“在哪?哪里?”那在SQL里面where 主要用来干嘛呢?主要用来过滤数据集,所谓的过...

2020-08-02 23:35:46 395

原创 SQL中的空值、NULL以及类型转换那些坑

我们平常写SQL中遇到过滤空值或者NULL值的处理,尤其是在非关系型数据库中没有唯一键和默认值的约束要求,很容易出现NULL值或者空值。很多时候我们总是会出现困扰,到底是该使用=' ' 还是用 is NULL呢?另外我们一个多表JOIN的查询在这个SQL上跑的好好的,一旦换了一个SQL执行引擎就提示我们JOIN两边的数据类型不一致,这些都是为什么呢?今天就带大家一起领略一下各类SQL中空值以及类型转换那些坑。空值和NULL值一、底层字段类型为字符型(string,varch...

2020-07-31 10:25:35 4049 1

原创 一文带你搞定SQL中日期时间那些事

前语:使用的SQL多了不知道大家有没这样的困惑,SQL的语法大的方面是一致的,如SELECT,JOIN,GROUP BY等,但是在一些函数或某些特定功能处理上还是有很大差异的,而这些差异经常给大家带来困惑,尤其是一个新手从一种SQL转到另一种SQL的时候,总是抓耳挠腮,不知所措。今天就把大家常用的SQL语言做一个总结,来看看他们在日期时间处理方面的差异。前置说明:本文所用的日期时间均指:2020-07-20 10:58:59这种格式,时间戳指:1595932031这种格式。一、日期处理函数..

2020-07-29 10:45:05 356

原创 如果互联网公司是一所大学,你Pick哪家?

这几天高考成绩陆续放榜,又到了几家欢乐几家愁的时候。不过从今年网上的情况来看,似乎欢乐的人不少,悲伤的没有几个。这也不奇怪,正常来说今年参加高考的学生是02,03后,标准的后「后浪们」,后浪们的人生选择比我们那个时候多了很多,高考或许对他们来说就是一个成长的阶段,参加过高考你就18岁成人了。在「后浪」们为报考清华还是北大犹豫不决时,作为「前浪」 的我们,如果把现在的互联网公司看成是一所大学,你会Pick哪所学校呢?第一梯队:阿里&腾讯 VS 清华&北大阿里&腾讯.

2020-07-27 10:58:57 1536

原创 HIVE SQL优化的两个思路

上一篇我们介绍了关系型数据库SQL的优化主要是索引和减少数据量,本文以大家常用的HIVE SQL为基础来介绍如何优化SQL的运行速度。下面是本次分享的逻辑和顺序:HIVE SQL优化的核心数据倾斜大家知道大数据的核心之一就是数据量大,所以数据量很大对于大数据本身不是挑战,否则就不叫大数据了。大数据最怕的就是数据倾斜,所谓的倾斜就是所有的task都放到一个节点(暂且理解为一台机器)去这性,这样大数据的大(分布式集群)的优势就无法发挥出来。就想下面这整图,看着是一堆处理器,实际干..

2020-07-25 20:15:46 566

原创 关系型数据库SQL优化指南

大家有没有过这样的体验,自己的SQL一跑跑半天,别人的SQL点一下结果就出来了,难道真的是别人的运气好?一次还好说,每次都是运气好,反正我是不信。毕竟技术人都是凭实力吃饭的。下面我们以关系型数据库mysql为例来分析SQL如何跑得更快。从数据库的本质来看SQL优化的核心就是两个方面:1、使用索引2、减少数据量。使用索引的优化方法有:1、where后面的索引筛选列上不要使用函数,如substr,concat,length,数学函数等,使用了函数后原本可以走索引的查询就会变为全表扫描,.

2020-07-23 10:51:38 280

原创 count(*),count(1),count(id)的执行差异

写在前面:在日常的SQL中,我们统计总量的时候经常会用到count,有些同学喜欢用count(*),还有些同学用count(1),甚至还有用count(id/字段),那么这些写法在执行过程和执行结果上有什么区别吗?今天就带大家解开这个谜底。count函数的定义我们看下mysql官方对count函数的定义,这里包含三层意思:COUNT(expr)返回selsct检索语句中expr的值不为null的行数,其结果是一个BIGINT类型的值;如果没有匹配的行也就是所有行都是null或者表中没有.

2020-07-21 11:06:46 501

原创 SQL_BOY的另类“CRUD”能力

上一篇介绍了SQL_BOY的硬实力,包括重要的"4D"能力,即DQL,DML,DDL,DCL四大能力,有了这四大能力可以让你在职场上拥有一份稳定的工作,但是想在职场上有更大的发展和建树,还必须拥有“CRUD”的软实力。Creative,创造力什么是创造力?创造力是指产生新思想,发现和创造新事物的能力。它是成功地完成某种创造性活动所必需的心理品质。这是百度百科给出的解释,个人觉得这个解释太大太专业了,不过也很符合尤瓦尔·赫拉利关于智人的定义,人类之所以显得比其他动物聪明,核心就是人类拥有创造力。SQL

2020-07-18 22:21:35 618

原创 如何做一名合格的“CRUD“工程师?

如何做一名合格的"CRUD"工程师?作为一名资深的SQL_BOY,日常的工作肯定少不了“CRUD”,那这个被程序员吐槽的"CRUD"到底是什么呢?“CRUD” 就真的那么的那么简单吗?什么是“CRUD”呢?众网友给出的一致答案就是:"C":Create,建表、建库,插入数据;如:"R":Read或Retrieve,指的是读取数据,也就是查询数据;如:"U":Update,主要是指更新数据,包括全量更新和指定条件更新;如:"D"...

2020-07-17 00:38:50 4572

原创 一文看懂SQL的执行顺序

1:为什么需要关注SQL的执行顺序?看到这个问题,好多同学可能会说我能写出来正确的SQL,然后SQL能跑出结果就行了,为什么还要关心SQL的执行顺序呢?那么我们先回答这个问题,如果仅仅考虑能跑出结果就满意了,那确实没必要关注SQL的执行顺序。然而好多时候我们我们不是SQL不对,而是SQL跑了半天结果却没出来,机器没崩溃,可能你先崩溃了。所以,如果你想比别人快那么一点点的话,那就认真了解下SQL的执行顺序,这是我们写出漂亮SQL的关键。另外好多数据岗位的初级面试也会问到这个问题,不要以为这个问题很简单,实

2020-07-15 11:03:32 829

原创 运营必看的SQL(上)

SQL必知必懂的八大核心概念写在前面:如果你是一名程序员又恰好是一名SQLBOY的话,那么请移步,因为下面讲的实在太不专业了;如果你是一名想学会写好SQL的运营,那么你一定要认真读完。本文用通俗的语言介绍SQL和数据库相关的八大核心概念,每一个都是你理解数据表 写好SQL的关键,了解这些的同时你也对数据BOY从事的工作有了更深的一份了解。话不多说,上关键词:1、数据库(data base)我们首先看下数据库的百度百科:数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储.

2020-07-13 17:38:07 908

hadoop安装

1.a1 192.168.9.1 (master) a2 192.168.9.2 (slave1) a3 192.168.9.3 (slave2) 修改/etc/hosts 2.3台机器 创建hadoop 用户 hadoop 密码:123 3.安装JDK (3台都安装) [root@a1 ~]# chmod 777 jdk-6u38-ea-bin-b04-linux-i586-31_oct_2012-rpm.bin [root@a1 ~]# ./jdk-6u38-ea-bin-b04-linux-i586-31_oct_2012-rpm.bin [root@a1 ~]# cd /usr/java/jdk1.6.0_38/ [root@a1 jdk]# vi /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_25 export JAVA_BIN=/usr/java/jdk1.7.0_25/bin export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH 重启你的系统 或 source /etc/profile [root@a1 ~]# /usr/java/jdk1.6.0_38/bin/java -version java version "1.6.0_38-ea" Java(TM) SE Runtime Environment (build 1.6.0_38-ea-b04) Java HotSpot(TM) Client VM (build 20.13-b02, mixed mode, sharing) 4.安装hadoop (3台都安) [root@a1 ~]# tar zxvf hadoop-0.20.2-cdh3u5.tar.gz -C /usr/local 编辑hadoop 配置文件 [root@a1 ~]# cd /usr/local/hadoop-0.20.2-cdh3u5/conf/ [root@a1 conf]# vi hadoop-env.sh 添加 export JAVA_HOME=/usr/java/jdk1.7.0_25 设置namenode启动端口 [root@a1 conf]# vi core-site.xml 添加 <configuration> <property> <name>fs.default.name</name> <value>hdfs://hadoop1:9000</value> </property> </configuration> 设置datanode节点数为2 [root@a1 conf]# vi hdfs-site.xml 添加 <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> </configuration> 设置jobtracker端口 [root@a1 conf]# vim mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>hadoop1:9001</value> </property> </configuration> [root@a1 conf]# vi masters 改为 a1(主机名) [root@a1 conf]# vi slaves 改为 a2 a3 拷贝到其他两个节点 [root@a1 conf]# cd /usr/local/ [root@a1 local]# scp -r ./hadoop-0.20.2-cdh3u5/ a2:/usr/local/ [root@a1 local]# scp -r ./hadoop-0.20.2-cdh3u5/ a3:/usr/local/ 在所有节点上执行以下操作,把/usr/local/hadoop-0.20.2-cdh3u5的所有者,所有者组改为hadoop并su成该用户 [root@a1 ~]# chown hadoop.hadoop /usr/local/hadoop-0.20.2-cdh3u5/ -R [root@a2 ~]# chown hadoop.hadoop /usr/local/hadoop-0.20.2-cdh3u5/ -R [root@a3 ~]# chown hadoop.hadoop /usr/local/hadoop-0.20.2-cdh3u5/ -R [root@a1 ~]# su - hadoop [root@a2 ~]# su - hadoop [root@a3 ~]# su - hadoop 所有节点上创建密钥 [hadoop@a1 ~]$ ssh-keygen -t rsa [hadoop@a2 ~]$ ssh-keygen -t rsa [hadoop@a3 ~]$ ssh-keygen -t rsa [hadoop@a1 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a1 [hadoop@a1 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a2 [hadoop@a1 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a3 [hadoop@a2 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a1 [hadoop@a2 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a2 [hadoop@a2 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a3 [hadoop@a3 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a1 [hadoop@a3 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a2 [hadoop@a3 ~]$ ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub a3 格式化 namenode [hadoop@a1 ~]$ cd /usr/local/hadoop-0.20.2-cdh3u5/ [hadoop@a1 hadoop-0.20.2-cdh3u5]$ bin/hadoop namenode -format 开启 [hadoop@a1 hadoop-0.20.2-cdh3u5]$ bin/start-all.sh 在所有节点查看进程状态验证启动 [hadoop@a1 hadoop-0.20.2-cdh3u5]$ jps 8602 JobTracker 8364 NameNode 8527 SecondaryNameNode 8673 Jps [hadoop@a2 hadoop-0.20.2-cdh3u5]$ jps 10806 Jps 10719 TaskTracker 10610 DataNode [hadoop@a3 hadoop-0.20.2-cdh3u5]$ jps 7605 Jps 7515 TaskTracker 7405 DataNode [hadoop@a1 hadoop-0.20.2-cdh3u5]$ bin/hadoop dfsadmin -report

2015-08-28

空空如也

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

TA关注的人

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