摘要:函数式编程(Functional Programming)是一种编程风格,它是相对于指令式编程风格而言的,常见的面向对象编程就是指令式编程风格。 指令式编程是面向计算机硬件的抽象,有变量(对应着存储单元),赋值语句(获取、存储指令),表达式(内存引用和算术运算)和控制语句(跳转语句)。 而函数式编程 阅读全文
posted @ 2019-12-04 20:45 白竹山 阅读 (272) 评论 (0) 编辑
摘要:上一篇说到,在Spark 2.x当中,实际上SQLContext和HiveContext是过时的,相反是采用SparkSession对象的sql函数来操作SQL语句的。使用这个函数执行SQL语句前需要先调用DataFrame的createOrReplaceTempView注册一个临时表,所以关键是先 阅读全文
posted @ 2019-11-26 00:21 白竹山 阅读 (160) 评论 (0) 编辑
摘要:使用Spark SQL,除了使用之前介绍的方法,实际上还可以使用SQLContext或者HiveContext通过编程的方式实现。前者支持SQL语法解析器(SQL-92语法),后者支持SQL语法解析器和HiveSQL语法解析器,默认为HiveSQL语法解析器,用户可以通过配置切换成SQL语法解析器来 阅读全文
posted @ 2019-11-21 23:41 白竹山 阅读 (433) 评论 (0) 编辑
摘要:Spark SQL主要提供了两个工具来访问hive中的数据,即CLI和ThriftServer。前提是需要Spark支持Hive,即编译Spark时需要带上hive和hive-thriftserver选项,同时需要确保在$SPARK_HOME/conf目录下有hive-site.xml配置文件(可以 阅读全文
posted @ 2019-11-20 21:19 白竹山 阅读 (256) 评论 (0) 编辑
摘要:前两篇介绍了Spark的yarn client和yarn cluster模式,本篇继续介绍Spark的STANDALONE模式和Local模式。 下面具体还是用计算PI的程序来说明,examples中该程序有三个版本,分别采用Scala、Python和Java语言编写。本次用Java程序JavaSp 阅读全文
posted @ 2019-11-19 20:44 白竹山 阅读 (92) 评论 (0) 编辑
摘要:上一篇说到Spark的yarn client运行模式,它与yarn cluster模式的主要区别就是前者Driver是运行在客户端,后者Driver是运行在yarn集群中。yarn client模式一般用在交互式场景中,比如spark shell, spark sql等程序,但是该模式下运行在客户端 阅读全文
posted @ 2019-11-18 21:38 白竹山 阅读 (69) 评论 (0) 编辑
摘要:Spark运行模式有Local,STANDALONE,YARN,MESOS,KUBERNETES这5种,其中最为常见的是YARN运行模式,它又可分为Client模式和Cluster模式。这里以Spark自带的SparkPi来说明这些运行模式。 本文作为第一篇,先结合SparkPi程序来说明Yarn 阅读全文
posted @ 2019-11-17 23:41 白竹山 阅读 (138) 评论 (0) 编辑