- 博客(70)
- 问答 (3)
- 收藏
- 关注
原创 Java 并发编程(2) —— 创建线程的方法
1 通过继承 Thread 类创建线程 继承Thread类的话,必须重写run方法,在run方法中定义需要执行的任务。class MyThread extends Thread { private static int num = 0; public MyThread() { num++; } @Override public void run(
2017-12-31 10:37:10 711
原创 Java 并发编程(1) —— 进程和线程的由来
1 操作系统中为什么会出现进程? 说起进程的由来,我们需要从操作系统的发展历史谈起。 也许在今天,我们无法想象在很多年以前计算机是什么样子。我们现在可以用计算机来做很多事情:办公、娱乐、上网,但是在计算机刚出现的时候,是为了解决数学计算的问题,因为很多大量的计算通过人力去完成是很耗时间和人力成本的。在最初的时候,计算机只能接受一些特定的指令,用户输入一个指令,计算机就做一个操作。当用户在思考或者
2017-12-31 10:13:42 767
原创 FS Shell 基础
1 FS Shell调用文件系统 (FS)Shell 命令应使用 bin/hadoop fs <args>的形式。 所有的的 FS shell 命令使用 URI路径作为参数。URI 格式是 scheme://authority/path对HDFS文件系统,scheme 是 hdfs,对本地文件系统,scheme 是 file。其中 scheme 和 authority 参数都是可选的,如果未加指定,
2017-12-28 23:04:27 1147
原创 Hive 基础
1 hive 常用命令假设有数据库 fm_data,里面有表格 shield_fm_feature_item_ctrshow databases; //列出数据库desc database fm_data; // 展示数据库 fm_data 的信息use fm_data; // 使用某个数据库 fm_data\set hive.cli.print.current.db=true; 显示列头set
2017-12-28 23:00:10 551
原创 Hive 与 HDFS 之间的联系、Hive 与 关系型数据库的区别
1 Hive 与 HDFS 之间的联系(1)hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专门的 MapReduce 应用,十分适合数据仓库的统计分析。(2)Hive
2017-12-28 22:53:27 28903
原创 SQL 中的 left join 外连接
left join 是 left outer join 的简写,left join 默认是 outer 属性的。account 表custom 表0 基础inner join left join外连接包括 第一个表 的 所有行,但 仅仅 包含 第二个表 中那些匹配行 的数据。1 左外连接 与 右外连接关键词 left 指出连接左边的表决定结果集的行数,而右边的只负责提供与之匹配的列值。2 三路外连
2017-12-27 17:39:28 824
原创 SQL 中的 UNION 与 UNION ALL
1 前言集合 A 和 集合 B 的联合,即两个集合的并集(其中重复的元素只包含了一次)。当对两个数据集合 执行 集合操作 的时候,必须应用下面的规范:两个数据集合必须具有同样数目的列两个数据集中对应列的数据类型必须是一样的2 UNION 与 UNION ALLunion 和 union all 操作符可以连接多个数据集,区别在于union 对连接后的集合排序并去除重复项union all
2017-12-27 14:31:16 336
转载 SQL 中 Select count(*)、Count(1)、Count(0)的区别
Select count(*)、Count(1)、Count(0)的区别和执行效率比较 https://www.cnblogs.com/sueris/p/6650301.html关于数据库优化1——关于count(1),count(*),和count(列名)的区别,和关于表中字段顺序的问题 https://www.cnblogs.com/Caucasian/p/7041061.html结论这里把
2017-12-27 11:58:16 17175 1
原创 SQL 中使用 group by 进行分组
未使用 GROUP BY 子句使用了 GROUP BY 子句再配合上 HAVING 子句1 对单列的分组原表2 对多列的分组3 group by 字段 与 字段值
2017-12-27 11:36:14 813
原创 VIM 永久显示行号、行跳转
1.跳到文本的最后一行:按“G”,即“shift+g”2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”。3.跳到第一行的第一个字符:先按两次“g”,4.跳转到当前行的第一个字符:在当前行按“0”。命令行模式下输入(n为指定的行号):(1)ngg / nG(2):n(3)vim +n filename(注意这里要输入 + 号)三者的区别在于,ngg/n
2017-12-27 10:59:38 2680
转载 SQL 中 COUNT 与 SUM 的区别
SQL count()函数与sum()函数 count():COUNT() 函数返回匹配指定条件的行数。SELECT COUNT(column_name) FROM table_name COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入)1.SELECT COUNT(Customer) AS CustomerN
2017-12-27 10:07:01 3305
转载 ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2) 今天服务器遇到了一个很熟悉的问题 输入#mysql -u root -p ERROR 2002 (HY000):Can’t connec
2017-12-26 23:06:05 98471 11
原创 运行 Shell 脚本的方法
先来看一个简单的shell脚本:#!/bin/shcd /tmpecho "hello,world!" 我们来挨个解释一下脚本的每一行: 第一行:#!后面跟的是解释器的路径(shell本身就是一种解释型语言),解释器的路径是/bin/sh; 第二行:cd命令是切换当前工作目录的命令,tep是linux下根目录的一个子目录; 第三行:echo命令是输出后面所跟的参数1 方法一 第一种:因
2017-12-26 23:03:50 2349
原创 SQL 中的注释语句
SQL中的注释分为单行注释和多行注释。顾名思义,单行注释就是对一行进行注释,多行注释就是同时对多行进行注释。一、单行注释 SQL语句中的单行注释使用 –create database database_x --创建数据库database_x二、多行注释 SQL语句中的多行注释采用 /…/create database database_x/* 创建一个数据库 名字叫做da
2017-12-26 22:59:12 27105
原创 Hive SQL 基础语法(1)
1 substr , substring字符串截取函数:substr,substring语法: substr(string A, int start, int len),substring(string A, int start, int len) 返回值: string 说明:返回字符串 A 从 start 位置开始,长度为 len 的字符串 举例: hive> select substr
2017-12-26 16:47:24 3147
原创 Python 基础 —— 打印时不换行的方法
python 2.x, print 不换行>>> print x, python 3.x print 不换行>>> print(x, end="")在 print() 中设置参数 end=”” 参数即可亲测有效怎样使 Python 输出时不换行? https://www.zhihu.com/question/20390166
2017-12-26 15:20:33 937
原创 CentOS 7 镜像报错 Failed to get D-Bus connection: Operation not permitted
[root@1a7e1970060a /]# systemctl start mysqldFailed to get D-Bus connection: Operation not permitted今天在 CentOS 7.2 中安装好了 MySQL 以后,想启动服务试一试,结果出现了如上的情况。查了一大圈,发现是 系统镜像的问题,然而不仅 7.2 没有解决,7.3 同样没有解决。。。解决办法就是
2017-12-25 16:43:51 6516
原创 在 CentOS 6.7 环境下安装 Hive 的方法
Hadoop 的安装过程不再赘述具体方法见之前的文章在 CentOS 7.2 下安装 Hadoop 2.7.5 并搭建伪分布式环境的方法 http://blog.csdn.net/heatdeath/article/details/788670931 安装 MySQL在安装之前,需要先安装MySql,Hive默认使用内嵌的DerBy作为元数据库,但是鉴于其单会话限制,这里使用Mysql作为元数据库
2017-12-25 16:22:17 1118 1
原创 MySQL 报错 ERROR 1820 和 ERROR 1819 的解决办法
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.ERROR 1819 (HY000): Your password does not satisfy the current policy requirements设置的密码要求有大小写
2017-12-25 15:20:07 4254
原创 MySQL 报错 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的解决办法
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)这次申请的 CentOS 6。7 虚拟机镜像 自带了 MySQL ,然而进入这个虚拟机以后却发现,虽然可以启动 MySQL 的服务,但是却并不知道 root 的密码…解决办法如下:#1.停止mysql数据库/etc/init.d/mys
2017-12-25 15:08:15 3320
原创 Hadoop 搭建中遇到的问题 —— local host is: "localhost/127.0.0.1"; destination host is: "localhost":9000
ls: Failed on local exception: java.io.IOException: Connection reset by peer; Host Details : local host is: "localhost/127.0.0.1"; destination host is: "localhost":9000; 由于 CentOS 7.2 的镜像有坑,无法使用 servic
2017-12-25 14:51:00 14291
原创 《剑指 Offer》学习(3)—— 6_从尾到头打印链表
输入一个链表,从尾到头打印链表每个节点的值。思路一:使用栈package com.sword_to_offer;import java.util.ArrayList;import java.util.Stack;public class ReversePrintLinkedList { public ArrayList<Integer> printListFromTailToHead(L
2017-12-24 16:58:49 596
原创 《剑指 Offer》学习(2)—— 9_两个栈实现一个队列
用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。 队列中的元素为 int 类型。stack1 用来入队, stack2 用来出队package com.sword_to_offer;import java.util.Stack;public class TwoStackImplQueue { Stack<Integer> stack1 = new Stack<>();
2017-12-24 16:20:41 525
原创 《深入理解 Java 虚拟机》学习笔记(1)—— JVM 运行时数据区
Java 虚拟机在执行 Java 程序的过程中 , 会把它所管理的内存划分为若干个不同的数据区域。1 程序计数器(Program Counter Register)一块较小的内存空间,它是当前线程所执行的字节码的行号指示器,字节码解释器工作时通过改变该计数器的值来选择下一条需要执行的字节码指令,分支、跳转、循环等基础功能都要依赖它来实现。每条线程都有一个独立的的程序计数器,各线程间的计数器互不影响,
2017-12-24 15:59:52 909
原创 《剑指 Offer》学习(1)—— 5_替换空格
题目要求: 请实现一个函数,将一个字符串中的空格替换成 “%20”。例如,当字符串为 We Are Happy. 则经过替换之后的字符串为 We%20Are%20Happy。思路一:遍历输入的字符串,若当前字符为' ' ,则向 result_str 中 append ‘%20’,否则将当前字符 append 到 result_str 中。时间复杂度 O(n),空间复杂度 O(n)package
2017-12-24 14:32:03 484
原创 Java 深入学习(22) —— 异常处理
1 什么是异常处理 异常的英文单词是exception,字面翻译就是 “意外、例外” 的意思,也就是非正常情况。事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误。 比如使用空的引用、数组下标越界、内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图。错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误,在编译期间出现的错误有编译器帮助我们一起修正,然而运行期间的错
2017-12-24 10:07:17 982
原创 Java 深入学习(21) —— 内部类
1 内部类基础在 Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。下面就先来了解一下这四种内部类的用法。1.1 成员内部类成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:class Circle { // 外部类 double radius =
2017-12-23 17:50:58 636
原创 Linux 中 创建用户、设置密码、切换用户 的方法
创建用户useradd 或 adduser 命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。格式 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name主要参数 -c:加上备注文字,备注文字保存在 passwd 的备注栏
2017-12-21 20:01:04 5732
原创 Hadoop 配置过程中的错误 Error: Cannot find configuration directory: /etc/hadoop
配置好 hadoop 后,执行启动./start-all.sh,报错:Error: Cannot find configuration directory: /etc/hadoopstarting yarn daemonsError: Cannot find configuration directory: /etc/hadoop这是因为使用了 hadoop-env.sh 默认的关于 hadoo
2017-12-21 19:52:30 8340 5
原创 在 CentOS 7.2 下安装 Hadoop 2.7.5 并搭建伪分布式环境的方法
资源下载1、JDK 下载 http://www.oracle.com/technetwork/java/javase/downloads/index.html2、Hadoop 下载 http://hadoop.apache.org/releases.html一、创建 Hadoop 用户创建 hadoop 用户,并分配以用户名为家目录 / home/hadoop,并将其加入到 sudo 用户组,创
2017-12-21 19:48:35 6312 2
原创 HDFS 常用文件操作命令
ls使用方法:hadoop fs -ls <args>如果是文件,则按照如下格式返回文件信息: 文件名 <副本数> 文件大小 修改日期 修改时间 权限 用户 ID 组 ID 如果是目录,则返回它直接子文件的一个列表,就像在 Unix 中一样。目录返回列表的信息如下:目录名 <dir> 修改日期 修改时间 权限 用户 ID 组 ID示例:hadoop fs -ls /user/hadoop/file
2017-12-21 17:20:18 3004
原创 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-
异常信息如下:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable解决办法1 进入 hadoop 安装目录2 用 ldd 命令查看依赖库3 现在检查系统的 glibc 库, ldd –versi
2017-12-21 16:29:19 1671
原创 在 Linux 下安装 JDK 并配置环境变量的方法
0 JDK 下载链接http://www.oracle.com/technetwork/java/javase/downloads/index.html1 登录 Linux,切换到 root 用户su root 获取 root 用户权限,当前工作目录不变 (需要 root 密码)2 在 usr 目录下建立 java 安装目录cd /usr/lib/mkdir java3 将解压后的 javac 1
2017-12-21 14:48:02 898
原创 使用 Git 管理多个 SSH-Key 的方法
问题阐述当有多个 git 账号的时候,比如一个 github,用于自己进行一些开发活动,再来一个 gitlab,一般是公司内部的 git。这两者你的邮箱如果不同的话,就会涉及到一个问题,生成第二个 git 的 key 的时候会覆盖第一个的 key,导致必然有一个用不了。问题解决我们可以在~/.ssh 目录下新建一个 config 文件配置一下,就可以解决问题具体步骤
2017-12-20 22:39:28 732
原创 数据结构与算法分析(Java 语言描述)(36)—— 使用两个队列实现一个栈
思路:入栈操作:直接对 queue_1 进行 add 操作出栈操作:若 queue_1 的长度 > 1,对 queue_1 进行 remove 操作,将这些数据放入 queue_2 中,直到 queue_1 只剩下一个元素为止 queue_1 剩余的元素即为应该 出栈的元素, remove 操作将 queue_2 中的元素放回到 queue_1 中大致的示意图:package com.d
2017-12-11 16:20:44 595
原创 数据结构与算法分析(Java 语言描述)(35)—— 使用两个栈实现一个队列
思路:当进行入队操作的时候检查 stack_2 是否为空若 stack_2 非空,将 stack_2 中的数据放入 stack_1 中将需要入队的数据 push 到 stack_1 中当进行出队操作的时候检查 stack_1 是否为空若 stack_1 非空,将 stack_1 的数据放入 stack_2 中将 stakc_2 的栈顶元素 pop 出栈大致的示意图package co
2017-12-11 15:52:16 510
原创 数据结构与算法分析(Java 语言描述)(34)—— BST 的深度优先遍历(非递归实现)
先序遍历void preOrder(Node node){ Stack<Node> stack = new Stack<>(); while(node != null || !stack.isEmpty()){ while(node != null){ System.out.println(node.val); stac
2017-12-11 12:24:32 577
空空如也
汇编求两个任意位数的十进制数字的差,并输出。结果总是输出10进制的补码是什么情况
2016-04-25
汇编将输入的十进制数字转换成二进制,八进制,十六进制,代码写出来了,但是却无法正常运行
2016-04-21
初学者的一点疑问,汇编语言计算两个输入数字的和并输出
2016-04-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人