sparksql系列(一)环境搭建

以前公司用的是spark-core,但是换工作后用的多是spark-sql。
最近学习了很多spark-sql,在此做一个有spark经验的sparksql快速入门的教程。

JDK安装包 1.8版本:https://pan.baidu.com/s/1pLW3jyKv3N_FhQ7vvE4U2g    
SCALA安装包:https://pan.baidu.com/s/17f8AiS2n_g5kiQhxf7XIlA
hadoop安装包:https://pan.baidu.com/s/1YNM2_eTV8Zf_2SxamfMrSQ
Spark安装包:https://pan.baidu.com/s/17mf2_DMiNy7OdlFwygekhg
IDE安装包:https://pan.baidu.com/s/1caaKufvSuHBX1xEFXvCwPw

一:JDK环境搭建

其中重要的就是两个安装路径JDK路径和JRE路径,三个环境变量:JAVA_HOME、PATH、CLASSPATH

我本地的是   JDK路径(D:\JAVA\JDK\)      JRE路径(D:\JAVA\JRE)

JAVA_HOME(D:\JAVA\JDK)

PATH(%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;)

CLASSPATH(.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;)

验证方案:java -version

二:SCALA环境搭建

下载后,解压即可。配置一个环境变量即可。

重要环境变量,加上即可:SCALA_HOME(D:\JAVA\scala)      PATH(%SCALA_HOME%\bin;%SCALA_HOME%\jre\bin;)

验证方法:scala -version

三:hadoop环境搭建

    下载后,解压即可。配置两个环境变量即可。

    HADOOP_HOME(D:\JAVA\hadoop)      PATH($HADOOP_HOME/bin;)

    其中需要将bin下面的东西替换成window版本,因为是window版本。上面链接中的已经替换过。

四:运行的jar包

    spark 解压的路径中jars目录中的东西,添加进IDE的classpath就行了

五:IDE解压开就行

    打开后新建一个scala项目。和JAVA的IDE操作一模一样,在此不详细描述。

六:sparksql 你好,世界

   spark 解压的路径中jars目录中的东西,添加进IDE的classpath

import java.util.Arrays
            import org.apache.spark.SparkConf
            import org.apache.spark.api.java.JavaSparkContext
            import org.apache.spark.sql.{DataFrame, Row, SparkSession, functions}
            import org.apache.spark.sql.functions.{col, countDistinct, desc, length, row_number, sum, trim, when,count}
            import org.apache.spark.sql.types.{LongType, StringType, StructField, StructType}
            import org.apache.spark.sql.expressions.Window
            import org.apache.spark.storage.StorageLevel
            import org.apache.spark.sql.SaveMode

object WordCount {
                        def main(args: Array[String]): Unit = {
                                    val sparkSession= SparkSession.builder().master("local").appName("AppName").getOrCreate()
                                    val javasc = new JavaSparkContext(sparkSession.sparkContext)

val nameRDD = javasc.parallelize(Arrays.asList("{‘name‘:‘wangwu‘,‘age‘:‘18‘,‘vip‘:‘t‘}",
                                                "{‘name‘:‘sunliu‘,‘age‘:‘19‘,‘vip‘:‘t‘}","{‘name‘:‘zhangsan‘,‘age‘:‘18‘,‘vip‘:‘f‘}"));
                                    val namedf = sparkSession.read.json(nameRDD)

namedf.select(col("name")).show(100)

}
            }

hello,world详解

sparkSession的作用就相当于sparkcontext,是操作数据的关键

  SparkSession.builder()        java工厂模式哈

  master("local")                      限制模式是本地模式

  appName("AppName")       填写自己app的名称,免得任务多的时候找不到自己的任务

  getOrCreate()                       固定方法,我也不知道为什么。尴尬,尴尬,尴尬

上线sparksession的初始化

怎么?sparksession的初始化还分本地模式和线上模式吗?

     不,只是上一段代码中有一个master参数是local,这个参数的意思是本地模式。真正上线时不能用这个,需要去掉。

   val sparkSession= SparkSession.builder().appName("AppName").getOrCreate()

JavaSparkContext、nameRDD、namedf、select

  javaSparkContext                其实没有什么卵用就是将json转换成rdd

  namedf                                  rdd转换成的Dataframe,其实和spark-core中的rdd是一个概念。将json串转换为一个sparksql表了。

  select                                     Dataframe所有的操作和SQL是一样的,select就是简单的查询

原文地址:https://www.cnblogs.com/wuxiaolong4/p/11668053.html

时间: 2024-08-01 15:59:42

sparksql系列(一)环境搭建的相关文章

【从头开始写操作系统系列】环境搭建以及第一个Hello World

写在最前 笔者在动手写此操作系统时是一名大学本科大二的学生,可能文章中会有好多地方我没有解释清楚,可能也会有许多地方出现错误,我恳请各位读者能提出质疑和纠正我的错误,谢谢! 参考书籍: <30天自制操作系统>川合秀实 <ORANGE'S:一个操作系统的实现> 开发环境 笔者采用以下开发环境 Apple Macbook Air Ubuntu 12.04 LTS(32 bit) 读者准备 毕竟是动手写一个操作系统,对读者的要求也会相应要求高一些,对计算机编程0基础的读者还是不建议直接看

使用 robotframework 自动化测试系列 二 -----环境搭建

环境搭建是测试人员基础,本质都是不难的,按照流程和步骤一步步做,遇到问题不要担心,解决的问题越多,你理解的也就越多. 1. 安装python环境,python现在有python2 和python3.由于 robotframe work 开发时间较早,我们只能选择python2. (写这篇文时候,最新的是2.7.11) 安装过程很简单,记得安装时勾上 add path,或者装完后 手动设置python的环境变量,效果也是一样. 目前最新的python都自己安装了pip,pip类似linux里面的

安全系列------web环境搭建组合

asp环境搭建 asp + mssql + IIS asp + access + IIS IIS6.0(windows 2003) 7.X(7.0.7.5)(windows 2008 .win7) php环境搭建 php + mysql + aphce JSP环境搭建 jsp + mysql + tomcat jsp + oracle + tomcat jsp + mssql + tomcat jsp + db2 + tomcat

quick-cocos2d-x 系列之——环境搭建(Mac版)

quick-cocos2d-x简单介绍 何为quick-cocos2d-x? ? ? 简单一句话:quick-cocos2d-x是採用lua语言,通过tolua++工具对cocos2d-x进一步封装,这使得开发更简单,更高速,而且在mac和windows下都提供了一个非常强大的轻量级模拟器(quick-x-player), 摆脱了IOS模拟器耗性能和Android真机測试纠结到蛋疼的烦恼. 环境搭建: 1. 环境搭建所需原料: 1.1 quick-cocos2d-x 源码 ?下载地址:http:

Cordova4.0 系列 -- 基本环境搭建(1)

一. 安装Node.js基本环境 官网下载地址:https://nodejs.org/ 安装成功之后可以使用简单命令查看其版本 node -v npm相关命令 node cli.js install npm -gf //安装最新的NPM node cli.js install [email protected]1.0.105 -gf //可以安装指定版本的NPM 安装Ant:http://ant.apache.org/ 安装Git: http://git-scm.com/ 下载Android S

Ext Js MVC系列一 环境搭建和MVC框架整体认识

因为最近项目当中需要用ext js 4做前端框架,所以就必须得学习它了.这个系列主要总结ext js MVC框架,这是ext js 4新增的开发模式,这篇文章主要从以下几点来进行总结. 1,项目目录结构2,相关css文件和js文件引用3,MVC框架整体认识 项目目录结构 Ext js 4遵循统一的目录结构,这个有点类似于ASP.NET MVC.MVC中,所有的类都放在app目录中,这个目录下有四个子目录(每个子目录代表一个命名空间),主要有controller,model,view和store.

[Android系列—] 1. Android 开发环境搭建与Hello World

前言 開始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,相同对于Android 来说也有Android SDK. Android SDK 提供了构建,測试和调试安卓应用的API 库和开发人员工具. ADT- Android Developer Tools.安卓开发人员工具, 事实上这里就是Eclipse 用于Android 开发的插件. 高速开发环境搭建 在搭建And

phonegap 开发指南系列(3) ----在Eclipse中Android开发环境搭建

  前提条件:已在Eclipse中安装好Android SDK 和 ADT. 1.下载PhoneGap,解压. 2.用Eclipse新建一个安卓项目. 3.将phoneGap解压包里的Android文件夹下的phonegap-1.0.0.js 复制到安卓项目的 /assets/www/ 目录下. 4.将phoneGap解压包里的Android文件夹下的phonegap-1.0.0.jar 复制到安卓项目的 /libs 目录下. 5.在/assets/www/目录下新建一个index.html,内

RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

Mac下Appium环境搭建: 消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为TestYao刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速把移动端自动化这块搞起来,试用几款目前流行的工具,腾讯的xtest定制版.神州数码的自动化测试平台.开源rf+appium框架. 经过一段试用最终还是选择了rf+appium主要原因有: 1.开源,网上社区活跃 2.扩展性强,针对不同项目不同的需求,封装