
大数据、hadoop、spark
文章平均质量分 82
记录在java,scala,以及大数据的学习过程
LongRui888
龙腾虎跃,睿意进取,加油!
展开
-
to_date函数在hive、presto、spark中的区别
to_date函数在 hive、presto、spark中都有,但是差别还是挺大的。1、hive从select to_date('20220501','yyyymmdd')报错:org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: SemanticException [Error 10015]: Line 1:15 Arguments length mismatch原创 2022-06-01 13:39:14 · 4527 阅读 · 1 评论 -
Windows平台搭建Spark开发环境(Intellij idea 2020.1社区版+Maven 3.6.3+Scala 2.11.8)
在开始之前,需要说明的是 要跑通基本的wordcount程序,是不需要在windows上安装 hadoop 和spark的,因为idea在跑程序的时候,会按照 pom.xml配置文件,从指定的 repository源,按照properties指定的版本,下载dependency中指定的依赖包 。如果需要在本地通过 spark-shell,或者 运行开发完的包,那么就需要完整的hadoop 和spark环境,就需要把这两个都安装好。一、需要安装的软件版本 及 下载地址jdk 1.8 :ht.原创 2021-07-23 13:50:42 · 5044 阅读 · 4 评论 -
intellij idea常用快捷键记录
alt+enter会显示要导入的包名,可以选择。还可以用来选择 add exception to method signature 方法抛出异常。还可以选择 surround with try/catch 给代码增加异常处理,不过用 ctrl+alt+T更强大,还可以选择是否是if else等。...原创 2019-11-06 17:59:06 · 641 阅读 · 0 评论 -
数据仓库架构
1、基础架构2、衍生架构3、kimball架构4、混合架构原创 2020-07-10 14:34:56 · 302 阅读 · 1 评论 -
Centos 7中编译spark 2.4.4源码
1、安装centos 7,修改 vi /etc/sysconfig/network-scripts/ifg-eno16777736 文件,设置静态ip,重启网络 service network restart 2、修改机器名vi /etc/hosts 原始的内容删掉,增加:192.168.153.4 hadoop000192.168.153.4 localhostvi /et...原创 2019-11-21 13:53:28 · 271 阅读 · 0 评论 -
在集群上提交pyspark开发的spark应用
在集群上提交pyspark开发的spark应用,就是通过如下方式提交代码:spark-submit --master spark://192.168.153.6:7077 --py-files /root/wordcount.zip /root/wordcount.py其中 --master 指出了集群的地址和ip, --py-files指定了要执行的代码的zip压缩包,最后1个参数指...原创 2019-11-07 13:52:38 · 1141 阅读 · 0 评论 -
windows10下python开发spark应用的环境搭建
环境搭建主要涉及到3方面,第1是安装,第2是环境变量的配置,第3是验证安装和配置是否成功,总的涉及到以下5个部分。环境变量配置是在 此电脑 -》 属性 -》 高级系统设置 -》 高级 -》 环境变量 中最下面的系统环境变量中 可以进行设置。1、java从官网下载,这里下载的是1.8.0_121版。环境变量配置:新增JAVA_HOMEC:\Program Files\J...原创 2019-11-06 16:37:20 · 1994 阅读 · 0 评论 -
数据仓库之缓慢变化维度处理
当维度数据发生变化时,有多种处理方式,一般会用缓慢变化维类型2来处理,也就是当维度属性发生变化时,新生成1行,同时添加 开始日期,结束日期 。比如: 业务系统中的 用户表:userId,mobile,regDate111,12345,2020-01-01222,11111,2020-02-01用户111在3月2号登录系统,修改手机号为 12222,那么缓慢变化维类型2来处理后,数据仓库中的 用户表:userId,mobile,regDate,startDate,endDate111,123原创 2020-11-02 17:39:18 · 1212 阅读 · 0 评论 -
java版的hello world
今天写了java版的hello world,但是发现报错,代码如下:public class HelloWorld { public static void main(String[] args) { Thread.sleep(1000); System.out.println("hello,world!"); ...原创 2019-11-06 18:25:14 · 485 阅读 · 0 评论 -
【Scala】迭代器Iterator
scala中的迭代器用Iterator来实现,迭代器是访问集合的一种方法,但不是集合本身。通过hasNext方法能判断集合中是否还有元素,通过next方法可以获取集合中的下一个元素。此外,迭代器还有很多方法,比如:max,min,mkString 等。可以通过循环来遍历一个迭代器,但是要注意的是一旦遍历完,对同一个迭代器的再次遍历,会返回一个 空迭代器,也就是empty iterato...原创 2019-09-21 15:33:35 · 719 阅读 · 0 评论 -
【Scala】闭包
闭包是一个函数,这个函数的返回值 取决于 函数外部 变量,可以一个或者多个变量。这个概念有点不好理解,下面一步一步来说明。首先,定义一个匿名函数:val func_closure = (i:Int) => i * 10 * 20,那么 func_closure(1) =1*10*20=200然后,闭包就是在这个基础上,把 匿名函数中的常数 10,20变为 定义在匿名函数外面的...原创 2019-09-21 16:17:41 · 250 阅读 · 0 评论 -
【Scala】数组Array、列表List、集合Set、元组Tuple
1、数组数组可以用来存储固定大小的同一个类型的元素。定义之后可以通过下标来访问元素值,下标从0开始。下面的代码定义了一个可以存放2个元素的 字符串数组(默认情况下会自动import 长度不可变化的数组),当给下标为2的元素赋值时会报错,因为越界了:scala> var x:Array[String] = new Array[String](2)x: Array[Stri...原创 2019-09-21 17:53:04 · 1239 阅读 · 0 评论 -
【Scala】Option类型
Option类型表示一个值是可选的,有值 或 没有值,所以翻译一下就是 选项类型。Option[T]是一个类型为T的可选值的容器,如果存在,那么Option[T]就是 Some[T],如果不存在就是 None..创建一个Map,获取某个key对应的value,key有对应值就会返回Some(...):scala> val m = Map("spark"->"scala",...原创 2019-09-23 10:50:10 · 489 阅读 · 0 评论 -
【Scala】函数:默认参数值、指定函数参数名、可变参数
scala函数的基本定义如下:def 函数名 ( 参数列表) : 返回指的类型 = { 函数的实际操作 [return] 表达式}需要注意的是 如果没有返回值,那么返回值类型就是Unit,当然也可以省略。另外,返回值的时候,return关键字 可以省略。下面代码实现了 默认参数值,指定参数名调用,以及 可变参数:object Tes...原创 2019-09-23 11:40:21 · 803 阅读 · 0 评论 -
【Scala】函数:匿名函数、高阶函数、嵌套函数
1、匿名函数定义方法:var 函数名 = (参数列表) => 函数的实现代码下面的代码实现了 匿名函数、不带参数的匿名函数:object Test { def main(args: Array[String]) { //嵌入在main函数中的 函数 //f_inc函数式 def f_inc = new Function2[Int, Int, ...原创 2019-09-23 13:10:45 · 336 阅读 · 0 评论 -
【Scala】函数:偏应用函数、函数柯里化Currying
1、偏应用函数偏应用函数就是一个表达式,可以在调用函数时,只需要提供部分参数 或者 不需要提供参数。下面展示了普通函数log 和 偏应用函数logWithDateBound,本质上都是通过 log来实现的:object Test { def main(args: Array[String]) { val date = new java.util.Date l...原创 2019-09-23 15:18:24 · 405 阅读 · 0 评论 -
【Scala】泛型函数
scala中泛型函数的类型用 一个字母表示,下面代码中用T来表示,写成其他的,比如A 也是可以的。在调用时,需要指定类型 ,在函数定义中用到数据类型要用 T表示。object Test { def main(args: Array[String]) { //println( add[Int](1,2) ) //println() println( add[St...原创 2019-09-23 15:28:13 · 965 阅读 · 0 评论 -
【Scala】hello world
通过idea创建项目,步骤如下:Create New Project -》Maven -》勾选 Create form archetype,然后 选择 org.scala-tools.archetypes:scala-archetype-simple -》Next -》GroupId 和ArtifactId都写成 Test -》 Next-》 Next-》 Finish。scala ...原创 2019-09-20 16:46:56 · 328 阅读 · 0 评论