自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Java JSP基础 文件上传

前言之前工作的时候, 经常听人提及JSP与Java Servlet的概念. 本章就主要本章涉及的例子都可以在https://github.com/SeanYanxml/arsenal/tree/master/arsenal-java/arsenal-servlet下找到.如果你觉得我的项目不错, 不妨给我一个Star. 你的支持就是我的动力.前置准备JDKMavenEclipse...

2019-04-30 21:39:05 495

原创 Java Servlet 基础编程 HelloWorld & HelloForm

前言在工作的时候, 经常听别人说. Servlet是接触Web编程的第一步, 而不是SSH的框架编程. 由于, 在学校的网络编程的知识快忘了个干净. 本章 将两个基础的部分记录于此. 本章主要介绍HttpServlet的Quick Start Demo. 后一章主要介绍表单提交的Demo.本章涉及的例子都可以在https://github.com/SeanYanxml/arsenal/tre...

2019-04-30 17:47:11 198

原创 Scala语法(四) 模式匹配

前言Scala中的模式其实和Java中的switch类似. Scala中对于Java内的switch进行了扩展, 例如数组模式匹配、List模式匹配、偏函数等. 其功能要远远强于Java的简单的switch匹配.正文基本匹配下方的例子中包含了多种模式匹配. 主要包括:字符串匹配混合数据类型匹配数组模式匹配List模式类型元组模式匹配import org.junit.Tes...

2019-04-28 17:40:15 92

原创 Scala语法(三) 类与对象

前言在前面的章节内, 我们分别介绍了Scala编程基础以及Scala的函数式编程. 本章, 我们将介绍Scala的类与对象的相关内容.正文类 & 对象Scala中的类的概念与Java一样. 通常通过class <className>进行定义, 一般一个类还可以定义一个伴生对象object <objectName>. 与Java不同的是, Scala可以在一...

2019-04-28 17:28:08 114

原创 Scala语法(二) 函数与方法

前言在前面的章节内我们简单的介绍了Scala的基本语法中, 常量&变量、if判断、循环以及基本的集合:数组、元组、Set、List和Map数据类型的基本操作.本章, 我们将介绍Scala中的函数与方法.正文经常听别人这样介绍Scala, Scala是面向函数式的编程语言. 那么, 函数与方法到底有什么区别呢? 请听我慢慢介绍.(Java中, 只有方法的概念, 没有函数的概念.)...

2019-04-28 15:19:53 84

原创 Scala语法(一) 基础语法(变量&常量&判断&循环&数组&集合)

前言在前面的章节中, 我们介绍了如何在Eclipse内安装Scala环境. 本章开始, 我们将讲解下Scala的基本语法.PS: 1. 个人虽然没有想转Scala语言开发的思想, 但是近来Scala语言被各种媒体炒的火热. 了解下总没有坏处. 就个人而言, 还是非常喜欢Java的简洁语法的.2. 另在学习过程中, Scala经常会去调用Java的语法. 个人感觉, Scala在某些方面做的仍...

2019-04-28 14:57:54 153

原创 Eclipse Scala环境的配置

前言要开发Scala程序, 一般使用的IDE主要有3种:NetBeanEclipseIDEA由于个人不太习惯IDEA的一些使用功能, 已经只能打开一个项目.(这可太蠢了.)所以, 继续选择在Eclipse IDE上集成Scala IDE. 当然, 官方提供了Scala IDE, 可以直接使用. 但是, 如果你之前哟一个版本的Eclipse的话, 个人建议还是升级比较好.基础知识...

2019-04-13 01:45:56 2146

原创 Eclipse 插件管理

前言前段时间需要安装Eclipse Scala插件, 折腾半天, 终于捣鼓好了. 将Eclipse 插件相关的知识记录在此.安装插件市场安装/地址安装(在线安装)在Eclipse内安装插件, 一般人选择的是市场安装. 其实, 这样做有很多问题:安装的软件通常是最新版, 与你当前使用的Eclipse可能不兼容.安装的插件的位置通常难以掌握, 在更换Eclipse版本的时候, 通常...

2019-04-12 18:20:10 1200

原创 HBase 基本原理

前言作为Hadoop体系中BigTable中的具体实现. HBase中主要解决的如何存储数据, 并建立相应索引, 快速查找数据. 其特性是写快, 读慢.本章就简单的聊聊这些过程: 存储数据/查找数据.基础知识在前面的章节內, 已经讲过HBase內主要有如下的组成部分.TableRow KeyColumns FamilyCellTime Stamp这边不再重复啰嗦. 详细...

2019-04-11 20:22:46 73

原创 HBase MR

前言在前面的章节内, 我们介绍了如何安装与操作HBase. 本章, 我们将讲解下HBase MR的相关操作. 这段内容在开发的过程中, 经常用来构建索引. 以提高用户的搜索效率.前置条件JDKHadoopHBaseHBase API正文Reference[1]. [How to] MapReduce on HBase ----- 简单二级索引的实现[2]. Elast...

2019-04-11 18:37:18 166

原创 Hive SQL 练习

前言本章主要, 转载一篇Hive SQL的一些练习题. 做一做, 练习下做业务的能力.本文相关资源, 可在我的Github项目 https://github.com/SeanYanxml/bigdata/ 目录下可以找到. PS: (如果觉得项目不错, 可以给我一个Star.)正文表1 学生表 <学号,姓名,性别,年龄,系> - <Sno,Sname,Ssex,Sag...

2019-04-10 23:57:48 234

转载 Hive Client JDBC

前言在前面的章节内, 我们介绍了Hive的安装、远程链接和基本使用. 本章, 我们介绍下如何在Java内完成这些操作.正文pom.xml 文件<dependencies> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc&...

2019-04-10 23:31:17 153

原创 Junit 如何只执行一个方法

前言之前在看别人使用JUnit的时候,可以每次只执行一个Junit. 非常方便. 之前我一直不知道这么用.(原谅我火星了) 下面讲述下具体操作步骤.正文方法前加上@Before前缀;选择方法, 并且右击Run -> Junit Test. (注意, 如果运行了多个. 说明你没有选择方法!)Q&A期间遇到异常如下:java.lang.Exception: N...

2019-04-10 23:06:04 2276

原创 HBase Java API

前言在前一章内, 我们介绍了如何在HBase Shell内使用HBase. 本章, 我们继续接着上章的内容, 完成Java内实现上述的功能.前置条件HBaseHadoop正文我们可以通过 HBase Client Java API 实现如下的操作:初始化创建表删除表插入/修改数据删除数据查询一条数据Scan方法获取数据Scan方法...

2019-04-10 22:59:22 117

原创 HBase Shell 基本使用

前言在上章, 我们尝试在本地安装了HBase. 本章, 我们主要了解下HBase Shell的基本使用.基础知识HBase是什么在使用HBase之前, 我们先了解下HBase的几项基本知识.与MySQL不同, HBase是面向列的数据库. 通常会将某些列存储在不同的文件内. 比如<id,name,age,sex>有时会被拆分成<id,name>``<id...

2019-04-10 16:17:11 12039 2

原创 HBase 安装与配置

前言作为谷歌三剑客中BigTable的开源实现, HBase也是大数据领域必不可少的一环. 本章主要讲解如何安装HBase.前置条件JDKHadoopZooKeepr(可以选择HBase自带)安装流程Mac上可以选择使用homebrew进行安装, 也可以选择手动安装. 为了了解其中的配置流程, 我选择手动安装. 当然, 如果你觉得手动安装过于繁琐, 你可以参考Mac安装HBa...

2019-04-10 14:46:18 420

转载 Hive 基本命令

前言总结的Hive相关命令. 网上的排版略差, 重新排版记录于此.DML建表CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type[COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_nam...

2019-04-09 01:19:23 129

原创 Hadoop 总章

前言Hadoop作为离线计算和分布式存储的基础, 至关重要. 虽然, 至如今, 分布式计算正在向Spark上进行迁移, 但是Hadoop中的分布式存储HDFS及离线计算仍然值得学习.相关章节部署&安装Hadoop 安装(单结点)Hadoop安装(YARN 集群)HDFSHadoop Shell 命令 与 WordCountHadoop HDFS的Java API使用Ha...

2019-04-09 00:38:42 100

原创 Hive 相关问题

前言本章主要收集一些Hive经常会遇到的问题. 由于本人没有在生产环境内使用过Hive. 所以, 本节的内容多为转载.相关问题数据倾斜问题?Hive的HQL语句及数据倾斜解决方案hive数据倾斜优化策略Hive数据倾斜解决方法总结大数据常见问题之数据倾斜Hive多表Join操作hive进行多表join如何处理hive的6种join操作轻松玩转hive中各种join之...

2019-04-09 00:10:00 151

原创 Hive 基本操作命令

前言前面两章, 我们介绍了如何安装Hive和如何远程链接Hive. 本章, 我们介绍下Hive的基本文件结构和操作.基础知识Hive的所有数据都存储在HDFS上, 没有专门的数据存储格式(支持 Text、SequenceFile、ParquetFile、RCFILE等) (Text与SequenceFile为Hadoop自带的文件格式, ParquetFile与RCFILE为两个不同的公...

2019-04-08 23:58:03 720

原创 Hive 远程链接(hiveserver2/beeline)

前言在上一章内, 我们安装了Hive, 并初次尝试了创建表和查询表的操作. 在本章内, 我们继续上章的内容了解Hive的相关操作.基础知识Hive的所有数据都存储在HDFS上, 没有专门的数据存储格式(支持 Text、SequenceFile、ParquetFile、RCFILE等) (Text与SequenceFile为Hadoop自带的文件格式, ParquetFile与RCFILE...

2019-04-08 16:51:59 1141

原创 Linux 文件权限管理

前言之前在现场部署的时候, 某些用户没有root用户的权限. 由此学习了一波Linux权限相关的知识. 最近有机会, 将其总结如下:用户与用户组chrown/chmod/`` 命令-R/755/777 的含义注意事项正文用户与用户组用户与用户组是多对多的关系. .一个用户可以在多个用户组内, 一个用户组也可以包含多个用户. 我们通常可以通过/etc/passwd文件查看相关的...

2019-04-08 16:17:35 2006 3

原创 Hadoop MR 核心原理

前言在之前的系列内, 多数都是介绍Hadoop MR的基本操作, 对于运行原理涉及较少. 本章, 主要补充下这部分的内容. 方便以后的理解.本章主要分为如下几个部分:正文WordCount运行设计WordCount的Map/Reduce主要分为如下几个阶段:Mapper主要负责任务的初级处理, Reducer主要负责数据的合并;Mapper端的操作为(读取数据/按行处理/每行按空...

2019-04-07 02:29:58 2945 3

原创 Hadoop MR 基本运维参数

前言在前面的章节内, 我们主要讲解了Hadoop MR的相关知识. 本章, 主要讲解Hadoop中主要的参数. 通常的程序的性能调优都和这些参数无不关系.本文相关代码, 可在我的Github项目 https://github.com/SeanYanxml/bigdata/ 目录下可以找到. PS: (如果觉得项目不错, 可以给我一个Star.)相关参数本地MR参数mapreduce....

2019-04-06 18:44:54 390

原创 Hadoop MR 之(七) 其他基本操作

前言在前面的几章内, 我们讲解了如何进行简单的WordCount操作、如何自定义业务类型、如何Join操作等. 本章, 作为这个系列的补充章节, 稍微将下之前未被介绍的内容: 计数器和程序运行组.本文相关代码, 可在我的Github项目 https://github.com/SeanYanxml/bigdata/ 目录下可以找到. PS: (如果觉得项目不错, 可以给我一个Star.)正文...

2019-04-06 18:37:45 111

原创 Hadoop MR 之(六) Join操作 (MapJoin & ReduceJon & 缓存)

前言在前面的几章内, 我们主要讲解了如何进行简单的MR操作, 以及如何开发自定义组件.(Combiner/InputFormat等).在本章中, 我们主要讲解MR中的一个非常经典的问题: 如何实现Join操作?本文相关代码, 可在我的Github项目 https://github.com/SeanYanxml/bigdata/ 目录下可以找到. PS: (如果觉得项目不错, 可以给我一个St...

2019-04-06 18:28:50 171

原创 Hadoop MR 之(五) 小文件的处理

前言在前章内我们讲述了如何自定义InputFormat. 本章, 我们接着这个话题讲述如何处理小型文件.处理策略处理策略1 自定义FileInputFormat. 相关的代码见上章(Hadoop MR 之(四) InputFormat 类 / OutputFormat类).处理策略2 使用Hadoop自带的CombineTextInputFormat. 相关的编码操作如下. // ...

2019-04-06 13:09:10 125

原创 Hadoop MR 之(四) InputFormat 类 / OutputFormat类

前言在前一章内, 我们讲述了如何自定义Combiner/ Partition /GroupingComaprator类.本章我们讲解下如何自定义输入与输出. 也就是InputFormat类与OutPutFormat类.本文相关代码, 可在我的Github项目 https://github.com/SeanYanxml/bigdata/ 目录下可以找到. PS: (如果觉得项目不错, 可以给我...

2019-04-06 13:03:12 139

原创 Hadoop MR 之(三) Combiner类 / Partitioner 类 / GroupingComparator 类

前言在前一章中, 我们介绍了如何使用MR框架完成自己的业务逻辑. 并且,实现了排序功能. 本章, 我们继续讲解Hadoop MR的自定义处理细节.本文相关代码, 可在我的Github项目 https://github.com/SeanYanxml/bigdata/ 目录下可以找到. PS: (如果觉得项目不错, 可以给我一个Star.)基础知识在讲解Hadoop MR的Combainor...

2019-04-06 12:54:50 103

原创 Hadoop MR 之(二) 传递自定义数据类型 & 排序

前言前章, 我们介绍了简单的WordCount代码的基本实现(Hadoop MR 之(一) 编写自己的WordCount). 本章, 我们将介绍, 如何在Map/Reduce操作内传递自己的数据类型, 并根据部分关键值对进行排序操作.本文相关代码, 可在我的Github项目 https://github.com/SeanYanxml/bigdata/ 目录下可以找到. PS: (如果觉得项目不...

2019-04-06 02:22:22 218

原创 Hadoop MR 之(一) 编写自己的WordCount

前言在前面的内容几章内, 我们主要介绍了HDFS的相关内容. 本章开始, 我们讲解下经常使用的Hadoop MapReduce的相关内容.有人会觉得, 当前已经到了Spark几乎一统天下的时代, 学习Map/Reduce似乎没什么必要. 但是, 我觉得还是有点必要的. 主要原因有三:Hadoop的Map/Reduce框架应当堪称分布式离线计算的先河, 后面的开源项目多多少少对其有点借鉴;...

2019-04-06 01:23:15 650

原创 Hive 的安装与配置

前言在前面的章节内, 我们主要介绍了Hadoop体系内的相关知识. 本章中, 我们介绍下Hive的安装与使用.什么是Hive?个人认为, Hive是用来简化Hadoop的Map/Reduce操作的工具架构. 方便统计与搜查Hadoop表形式文件. 后继者Spark SQL与其特别的相似.安装Hive的安装主要包括如下几步:下载安装包到本地, 解压. http://mirror....

2019-04-04 17:31:44 105

原创 Hadoop HDFS 基本原理(文件上传 & 文件下载 & NameNode & Secondary NameNode)

前言在前面的几章内,我们介绍了Hadoop Shell 命令 与 WordCount与Hadoop HDFS的Java API使用. 本章我们稍微讲解下Hadoop的客户端提交、Hadoop服务端 、Secondary namenode原理.概述HDFS集群分为2大角色: NameNode 与 DataNode/Secondary NameNode.NameNode负责整个文件系统的原...

2019-04-03 23:09:19 489 1

原创 Hadoop HDFS的Java API使用

前言在前面的章节中Hadoop Shell 命令 与 WordCount. 我们介绍了经常使用的HDFS经常使用的Shell命令. 本章我们讲解下 Hadoop的HDFS Java API.正文Reference[1].

2019-04-03 17:16:39 685

原创 如何优雅的破解 IDEA

前言在工作中个人还是用Eclipse比较多, 但是IDEA在某些时候也会用到.IDEA的破解方法主要有2种:直接填写地址;(简单 有时需要经常更新)Jar包破解; (稍微复杂点, 但是使用时间比较长)资源地址: http://idea.lanyus.com/正文链接破解进入, 点击Register.进入, 点击Register.Jar包破解下载Jar包将J...

2019-04-02 20:53:31 286

原创 Linux 文本处理三剑客(grep/sed/awk)

前言之前在Linux的使用过程中都是使用grep, 以及sed替换较多. 今天借此总体了解下其他的命令. 本文只对于其做一些简单的介绍, 详细链接可以看下手册.正文greplocalhost:Desktop Sean$ grep -husage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]] [-...

2019-04-02 20:41:26 296

原创 Linux基础之 getopts

前言我们在使用别的东西的脚本的时候, 经常有这样的操作. cp -rp xxx/ xxx/. 其中-rp是对于原命令的可选项, 可是对于原命令的一个增强. 其实, 这是使用了getopt.正文getopt命令 为我们提供了-x(单字母缩写)与--name(长单词)这两种选项. 其实, 在我们使用不是需要特别多的选择的时候-x(单字母缩写)完全是够用了.case1 简单例子基本使用. ...

2019-04-02 17:55:22 97

原创 Linux基础 之 curl 命令

前言在命令的使用过程中, 我们也经常使用curl命令. 在此, 总结下curl命令的常见用法.正文curl使用curl -h可以看到curl命令的所有选项. 我们经常使用的无非curl地址、curl返回值、curl请求类型、curl请求主体等.localhost:mapreduce Sean$ curl -hUsage: curl [options...] <url>...

2019-04-02 17:03:08 794

原创 常见的Linux命令缩写

前言之前在思考Linux 命令中du与df的命令的英文名字的时候, 查询了一下. 发现我们经常使用的Linux命令都是英文字母的缩写. 今天在此, 将这些内容简单的总结一下.正文文件目录&文件操作命令ls :list(列出目录内容). ls -a是list -all的缩写, 意在查看所有文件.touch: touch.创建文件.rm:Remove(删除目录或文件)mkdi...

2019-04-02 12:21:12 306

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