hive if函数_好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据培训分享函数+map映射+元祖

8946ca99e891b6b817ee661a662f87a3.png

大数据各个平台上的语言实现

hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算

存储: hbase --> 数据成表

处理: hive --> 数据仓库的工具

计算: mapreduce --> 入门级

hive java实现

flink 流失处理 scala实现 --> 计算引擎

kafka 数据缓存 scala实现

sparkscala实现 python

DL 4jscala实现

sklearningpython实现

akkascala实现 --> 通信

scala发展历程

scala作者:

马丁,函数编程的爱好者,一直在jvm平台上工作

scala的魅力

scala针对spark集群里的spark -shell 进行脚本编程

scala针对IDEA的maven,进行spark的app开发

大数据开发编程思想

1.加载数据集,(基于本地数据,win hdfs Array)

2.分割数据集,(聚合操作)

3.选择apache框架(处理-Hive,存储-HBSE,计算-mapreduce,)

4.调试,测试代码

5.调优,代码,app,数据倾斜,troubleshooting故障排除

6.上线

val 和 var

val被final修饰,不可以修改变量值

a88d59db7f5ad202cb83564af7207455.png

var可以修改

798c814ce240747ba3f989169795a13c.png

java和scala共用jvm,但是思想不一样

scala 数据类型:

scala中,一切类的基类为 Any

第一种:

AnyRef,是Any的子类,是所有的引用类型的基类,所有的继承都来自AnyRef

第二种:

AnyVal,是Any的子类,ByteCharShortintLongFloatDouble(无包装类)-->七种数据类型,Unit(无返回值类型)Boolean

条件表达式

object test {

def main(args: Array[String]): Unit = {

val x = 1

//判断x的值,将结果赋给y

val y = if (x > 0) 1 else -1

println(y) //1

println("------------------------------------------")

//支持混合类型表达式

val z = if (x > 1) 1 else "error"

println(z) //error

println("------------------------------------------")

//如果缺失else,相当于if(x>2) 1 else ()

val m = if (x > 2) 1

println(m) //()

println("-----------------------------------------------")

//在scala里每个表达式里都有值,scala中有个unit类,写作(),相当于java里的void

val n = if (x > 2) 1 else ()

println(n) //()

println("----------------------------------------------")

//if,else if

val k = if (x < 0) 0

else if (x >= 1) 1 else -1

println(k) //1

}

}

块表达式

* 在scala中"{}"中包含一系列的列表达式就形成了块表达式

* 下面就是一个块表达式

* 用lazy关键字来修饰,该代码局就是在调用才运行

object Block {

def main(args: Array[String]): Unit = {

val x = 0

val result = {

if (x < 0) {

-1

} else if (x >= 1) {

1

} else {

"error"

}

}

println(result) //result的值就是整块的表达式的结果

}

}

printf打印和foreach的使用

arr.toBuffer -> 变常数组

scala> val arr = Array(1,2,3,4)

arr: Array[Int] = Array(1, 2, 3, 4)

scala> print(arr.toString)

[I@108fa66

scala> print(arr.toBuffer)

ArrayBuffer(1, 2, 3, 4)

printf 用法 --> 相当于格式化

20b5b6eaf045f84ee59e34a88ea9734d.png

%s 表示字符串

%d 表示数字

object game {

def main(args: Array[String]): Unit = {

//readline()允许我们从控制台读取用户输入的数据,类似于java中的System.in和Scanner

val name = readLine("Welcome to Game House,please tell me your name:")

print("Thanks,then please tell me your age:")

val age = readInt() //初始化

if(age > 18){

printf("Hi,%s,you are %d years old,so you are legal to come here

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值