自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 第18讲-Scala编程详解:隐式转换与隐式参数

引言Scala提供的隐式转换和隐式参数功能,是非常有特色的功能。是Java等编程语言所没有的功能。它可以允许你手动指定,将某种类型的对象转换成其他类型的对象。通过这些功能,可以实现非常强大,而且特殊的功能。Scala的隐式转换,其实最核心的就是定义隐式转换函数,即implicit conversion function。定义的隐式转换函数,只要在编写的程序内引入,就会被Scala自动使用。Sc...

2019-10-21 16:25:41 187

原创 第17讲-Scala编程详解:类型参数

引言类型参数是什么?类型参数其实就类似于Java中的泛型。先说说Java中的泛型是什么,比如我们有List a = new ArrayList(),接着a.add(1),没问题,a.add(“2”),然后我们a.get(1) == 2,对不对?肯定不对了,a.get(1)获取的其实是个String——“2”,String——"2"怎么可能与一个Integer类型的2相等呢?所以Java中提出了...

2019-10-21 16:17:21 227

原创 第16讲-Scala编程详解:模式匹配

引言模式匹配是Scala中非常有特色,非常强大的一种功能。模式匹配,其实类似于Java中的swich case语法,即对一个值进行条件判断,然后针对不同的条件,进行不同的处理。但是Scala的模式匹配的功能比Java的swich case语法的功能要强大地多,Java的swich case语法只能对值进行匹配。但是Scala的模式匹配除了可以对值进行匹配之外,还可以对类型进行匹配、对Array...

2019-10-21 16:09:46 308

原创 第15讲-Scala编程详解:函数式编程之集合操作

Scala的集合体系结构// Scala中的集合体系主要包括:Iterable、Seq、Set、Map。其中Iterable是所有集合trait的根trait。这个结构与Java的集合体系非常相似。// Scala中的集合是分成可变和不可变两类集合的,其中可变集合就是说,集合的元素可以动态修改,而不可变集合的元素在初始化之后,就无法修改了。分别对应scala.collection.mutabl...

2019-10-21 16:02:59 209

原创 第14讲-Scala编程详解:函数式编程

引言Scala中的函数是Java中完全没有的概念。因为Java是完全面向对象的编程语言,没有任何面向过程编程语言的特性,因此Java中的一等公民是类和对象,而且只有方法的概念,即寄存和依赖于类和对象中的方法。Java中的方法是绝对不可能脱离类和对象独立存在的。而Scala是一门既面向对象,又面向过程的语言。因此在Scala中有非常好的面向对象的特性,可以使用Scala来基于面向对象的思想开发大...

2019-10-21 15:56:16 198

原创 第13讲-Scala编程详解:面向对象编程之Trait(1)

将trait作为接口使用// Scala中的Triat是一种特殊的概念// 首先我们可以将Trait作为接口来使用,此时的Triat就与Java中的接口非常类似// 在triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可// 类可以使用extends关键字继承trait,注意,这里不是implement,而是extends,在scala中没有impleme...

2019-10-21 15:48:35 116

原创 第12讲-Scala编程详解:面向对象编程之继承

extends// Scala中,让子类继承父类,与Java一样,也是使用extends关键字// 继承就代表,子类可以从父类继承父类的field和method;然后子类可以在自己内部放入父类所没有,子类特有的field和method;使用继承可以有效复用代码// 子类可以覆盖父类的field和method;但是如果父类用final修饰,field和method用final修饰,则该类是无法...

2019-10-21 15:38:05 119

原创 第11讲-Scala编程详解:面向对象编程之对象

object// object,相当于class的单个实例,通常在里面放一些静态的field或者method// 第一次调用object的方法时,就会执行object的constructor,也就是object内部不在method中的代码;但是object不能定义接受参数的constructor// 注意,object的constructor只会在其第一次被调用时执行一次,以后再次调用就不会...

2019-10-21 15:19:33 180

原创 第10讲-Scala编程详解:面向对象编程之类

定义一个简单的类// 定义类,包含field以及方法class HelloWorld { private var name = "leo" def sayHello() { print("Hello, " + name) } def getName = name}函数:类外边定义的def方法:类内定义的def注意:如果定时的def后的方法名没加(),在调用的时候就不能...

2019-10-21 15:13:54 171

原创 第9讲-Scala编程详解:Map与Tuple

创建Map// 创建一个不可变的Mapval ages = Map("Leo" -> 30, "Jen" -> 25, "Jack" -> 23)ages("Leo") = 31<console>:13: error: value update is not a member of scala.collection.immutable.Map[String,I...

2019-10-21 15:05:09 204

原创 第8讲-Scala编程详解:数组操作之数组转换(1)

使用yield和函数式编程转换数组// 对Array进行转换,获取的还是Arrayval a = Array(1, 2, 3, 4, 5)val a2 = for (ele <- a) yield ele * elea2: Array[Int] = Array(1, 4, 9, 16, 25)// 对ArrayBuffer进行转换,获取的还是ArrayBufferimport ...

2019-10-21 14:58:08 215

原创 第7讲-Scala编程详解:数组操作之Array、ArrayBuffer以及遍历数组

Array在Scala中,Array代表的含义与Java中类似,也是长度不可改变的数组。此外,由于Scala与Java都是运行在JVM中,双方可以互相调用,因此Scala数组的底层实际上是Java数组。例如字符串数组在底层就是Java的String[],整数数组在底层就是Java的Int[]。// 数组初始化后,长度就固定下来了,而且元素全部根据其类型初始化val a = new Array...

2019-10-21 14:53:58 269

原创 第6讲-Scala编程详解:函数入门之过程、lazy值和异常

过程在Scala中,定义函数时,如果函数体直接包裹在了花括号里面,而没有使用=连接,则函数的返回值类型就是Unit。这样的函数就被称之为过程。过程通常用于不需要返回值的函数。过程还有一种写法,就是将函数的返回值类型定义为Unit。def sayHello(name: String) = "Hello, " + namedef sayHello(name: String) { print(...

2019-10-21 14:48:27 105

原创 第5讲-Scala编程详解:函数入门之变长参数

变长参数在Scala中,有时我们需要将函数定义为参数个数可变的形式,则此时可以使用变长参数定义函数。def sum(nums: Int*) = { var res = 0 for (num <- nums) res += num res}sum(1, 2, 3, 4, 5)使用序列调用变长参数在如果想要将一个已有的序列直接调用变长参数函数,是不对的。比如val s...

2019-10-21 14:45:20 184

原创 第4讲-Scala编程详解:函数入门之默认参数和带名参数

默认参数在Scala中,有时我们调用某些函数时,不希望给出参数的具体值,而希望使用参数自身默认的值,此时就定义在定义函数时使用默认参数。def sayHello(firstName: String, middleName: String = "William", lastName: String = "Croft") = firstName + " " + middleName + " " +...

2019-10-21 14:43:12 112

原创 第3讲-Scala编程详解:函数入门

函数的定义与调用在Scala中定义函数时,需要定义函数的函数名、参数、函数体。我们的第一个函数如下所示:def sayHello(name: String, age: Int) = { if (age > 18) { printf("hi %s, you are a big boy\n", name); age } else { printf("hi %s, you ar...

2019-10-21 14:39:37 112

原创 第2讲-Scala编程详解:条件控制与循环

if 表达式if表达式的定义:在Scala中,if表达式是有值的,就是if或者else中最后一行语句返回的值。例如,val age = 30; if (age > 18) 1 else 0可以将if表达式赋予一个变量,例如,val isAdult = if (age > 18) 1 else 03.另外一种写法,var isAdult = -1; if(age &gt...

2019-10-14 21:16:31 161

原创 第1讲-Scala编程详解:基础语法

Scala与Java的关系scala与java的关系是非常紧密的!!!因为scala是基于java虚拟机,也就是JVM的一门编程语言。所有scala的代码,都需要经过编译为字节码,然后交由java虚拟机来运行。所有java和scala是可以无缝互操作的。scala可以任意调用java的代码,所以scala与java的关系是非常非常紧密的。Scala解释器的使用REPL:Read(取...

2019-10-14 20:10:57 194

原创 HBase Day03~HBase常用shell操作

1、进入HBase客户端命令操作界面$ bin/hbase shell2、查看帮助命令hbase(main):001:0 help3、查看当前数据库中有哪些表hbase(main):002:0> list4、创建一张表创建user表,包含info、data两个列族hbase(main):010:0> create ‘user’, ‘info’, ‘data’或者hb...

2019-10-11 10:41:51 424

原创 zookeeper的介绍以及集群环境搭建

ZooKeeper 概述Zookeeper 是一个分布式协调服务的开源框架。 主要用来解决分布式集群中应用系统的一致性问题,例如怎样避免同时操作同一数据造成脏读的问题。ZooKeeper 本质上是一个分布式的小文件存储系统。 提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到...

2019-10-11 10:37:41 91

原创 HBase Day02 ~HBase的集群环境搭建

HBase的集群环境搭建注意事项:HBase强依赖zookeeper和hadoop,安装HBase之前一定要保证zookeeper和hadoop启动成功,且服务正常运行第一步:下载对应的HBase的安装包所有关于CDH版本的软件包下载地址如下http://archive.cloudera.com/cdh5/cdh/5/HBase对应的版本下载地址如下http://archive.c...

2019-10-11 10:07:12 196

原创 HBase Day01~HBase的基本介绍

HBase的基本介绍1.HBase是一个nosql数据库,以列的方式进行数据的存储和管理2.nosql 是非关系型数据库 Redis3.HBase来源于Google的思想 gfs MapReduce bigdata4.仅支持一些简单的事务5.mysql:select *from biao; insert into biao values(zi);6.建立hdfs之上 hbase和hdf...

2019-10-08 19:30:05 268

原创 Hive 案例~使用hive实现wordcount计数

使用hive实现wordcount计数思路:(1)创建一个文件,将文件写入vim data.txthello kityhellolalajililililiyanting liyantingbalabala balalaalalalalalalalwordhello kityhellolalajililililiyanting liyantingbalabala ...

2019-09-26 21:01:17 1684

原创 Hive Day04~函数

rownumber() 和 over()函数常用用于求分布topn测试:求每个人前两高的分数vi score.txtzhangsan,1,90zhangsan,2,95zhangsan,3,68lisi,1,88lisi,2,95lisi,3,98hive> create table t_score(name string,kcid string,score int)...

2019-09-26 15:50:15 86

原创 Hive Day03.3~Json函数解析

Json函数解析电影topn将数据rating.json上传到node01的/home下导入数据hive> load data local inpath ‘/home/rating.json’ into table t_rate_json;创建一张表,存储解析后的数据hive> create table t_rate(movie string,rate int,ts s...

2019-09-25 20:43:30 210

原创 Hive Day03.2~日期函数

函数首先为了测试函数,我们先随便建一张表hive> create table dual(id string);hive> insert into table dual values(1);例如:要测试函数substr怎么使用hive> select substr(“abcd”,0,2) from dual;日期函数hive> select current_...

2019-09-25 19:30:34 307

原创 Hive Day03.1~命令练习

7. 修改表的列定义查看t_seq表的定义hive> desc t_seq;看到表t_seq只有两个字段查看t_seq表的定义hive> desc t_seq;全部替换:全部替换:hive> alter table t_seq replace columns(id int,name string,address string,age int);修改已存在的...

2019-09-25 19:09:56 168

原创 Hive Day02~分区

2.分区关键字 PARTITIONED BYhive> create table test_44(ip string,url string,staylong int)partitioned by (day string)row format delimitedfields terminated by ‘,’;注意分区的day不能存在于表字段中准备数据[root@node01 h...

2019-09-24 18:45:55 292

原创 Hive Day01~了解Hive

1.Hive 是什么?HIVE是一个可以将sql翻译为MR程序的工具HIVE支持用户将HDFS上的文件映射为表结构,然后用户就可以输入SQL对这些表(HDFS上的文件)进行查询分析HIVE将用户定义的库、表结构等信息存储hive的元数据库(可以是本地derby,也可以是远程mysql)中2.Hive的用途有哪些?解放大数据分析程序员,不用自己写大量的mr程序来分析数据,只需要写s...

2019-09-23 21:14:09 183

原创 MYSQL Day04~Mysql 语句

Mysql 语句一、启动与退出1、进入 MySQL:启动 MySQL Command Line Client(MySQL 的 DOS 界面),直接输入安装时的密码即可。此时的提示符是:mysql>2、退出 MySQL:quit 或 exit二、库操作1、、创建数据库命令:create database <数据库名> 例如:建立一个名为 xhkdb 的数据库 mys...

2019-09-23 20:37:15 107

原创 MYSQL Day03~MySQL 常用命令汇总

MySQL 常用命令汇总Mysql 常用命令show databases; 显示数据库create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 显示具体的表结构select 中加上 distinct 去除重复字...

2019-09-23 20:35:39 247

原创 MYSQL Day02~MYSQL 常用命令

MYSQL 常用命令1.导出整个数据库mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的 文件名(数据库默认编码是 latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导...

2019-09-23 20:33:47 97

原创 MYSQL Day01~MYSQL的历史

MYSQL的历史网络数据库MySQLmssqldb2orcaleMaridb非关系型数据库NoSQL not only sqlHbase hadoop database范式 - - 设计数据库的规则第一范式 :表中的数据 不可在拆分| 1 | zhang | 手机号 、 微信号|| 1 | zhang | 手机号 |微信号 |第二范式主键第三...

2019-09-18 19:21:08 89

原创 Hadoop Day06~MapReduce计算json文件的电影总分

计算json文件的电影总分package com.doit.sumrate;public class UserRateBean { private String movie; private Integer rate; private String timeStamp; private String uid; public String getMov...

2019-09-08 20:59:48 1827

原创 Hadoop Day05~MapReduce的wordcount计数小案例

wordcount计数package WordCount;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapreduce.Mapper;import ...

2019-09-05 22:47:23 98

原创 Hadoop Day04~虚拟机中进行 wordcount计数

wordcount计数step1:在home目录下创建文件wordcount.txt,内容如下:hello tomhello rosehello jerryhello TBLhello tomhello kittyhello rosehello TBLhello ZDPhello ZDPhello TBLstep2:在hdfs创建存放wordcount.txt文件的目...

2019-09-05 22:30:11 466

原创 Hadoop Day03~ HADOOP集群搭建

HADOOP集群搭建(1) #安装lrzszyum -y install -y lrzsz(2)#在home目录下创建 /hadoop/appsmkdir -p /home/hadoop/apps(3)#将windows中的两个文件传到linux虚拟机中。选中,拖拽到有变的linux就可了1.集群简介HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,...

2019-09-05 22:12:07 134

原创 Hadoop Day02~crontab配置

crontab配置linux中支持定时任务的软件叫:crond服务1、命令功能通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。2、安装crontabyum install crontabs服务操作说明:service cr...

2019-08-29 17:59:28 231

原创 Hadoop Day01~大数据课程介绍

大数据课程介绍什么是大数据:海量数据的处理大数据用在哪:用在需要对海量数据进行处理的任何场合大数据学什么:(1)学分布式系统的思想(2)学框架基础课程内容介绍Linux & Shell编程基础HadoopMapreduce数据的处理流程:收集数据—>web服务器,打日志–flume,sqoop–>hadoop(hdfs)----->数据的清理--...

2019-08-29 17:23:33 137

原创 Python进阶Day07~# 主线程与小弟线程

主线程与小弟线程import _thread # 多线程import win32apidef show(i): mystr = win32api.MessageBox(0,"你真帅","来自Joker的问候",0)for i in range(5): _thread.start_new_thread(show,(i,while True: ...

2019-08-22 17:06:05 166

空空如也

空空如也

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

TA关注的人

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