SparkSQL将RDD封装成一个DataFrame对象,这个对象类似于关系型数据库中的表。

一、SparkSQL入门

1、创建DataFrame

  相当于数据库中的一张表,它是一个只读的表,不能在运算过程中再往里加元素。RDD.toDF("列名")

  

2、创建多列DataFrame对象

1)2列DataFrame

2)3列DataFrame

3、外部文件构造DataFrame

1)txt文件

  txt文件不能直接转化成DataFrame,先利用RDD转换成tuple,然后toDF()转换为DataFrame

2)json文件

3)jdbc读取

  实现步骤:

    ①将mysql的驱动jar包上传至Spark的jars目录下

    ②重启Spark服务

    ③进入spark客户端

    ④执行代码,比如在mysql的数据库下有一个test_db库,在test_db库下有一张表为cust_info

二、SparkSQL基础语法(方法)

三、SparkSQL基础语法(sql语句)

四、SparkSQL API

1、编写Scala代码

2、打jar包并上传至服务器

3、在spark的bin目录下执行

  sh spark-submit --class demo01 ./sparksql-demo-1.0.jar ,执行后出现如下结果:

4、查看结果文件

  

SparkSQL个人记录的更多相关文章

  1. Spark记录-SparkSQL相关学习

    $spark-sql  --help  查看帮助命令 $设置任务个数,在这里修改为20个 spark-sql>SET spark.sql.shuffle.partitions=20; $选择数据 ...

  2. spark-sql访问hive的问题记录

    好久没有弄博客了... hive0.14 spark0.12 [hadoop@irs bin]$ ./spark-sql Spark assembly has been built with Hive ...

  3. Spark记录-SparkSql官方文档中文翻译(部分转载)

    1 概述(Overview) Spark SQL是Spark的一个组件,用于结构化数据的计算.Spark SQL提供了一个称为DataFrames的编程抽象,DataFrames可以充当分布式SQL查 ...

  4. presto,dremio,spark-sql与ranger的整合记录

    dremio,spark-sql,presto和ranger的整合 当前,ranger没有现成的插件来管理dremio,spark-sql,presto. 暂时使用的方法是新建一个用户,如presto ...

  5. Spark记录-SparkSQL远程操作MySQL和ORACLE

    1.项目引入mysql和oracle驱动 2.将mysql和oracle驱动上传到hdfs 3.远程调试源代码如下: import org.apache.spark.sql.SQLContext im ...

  6. Spark记录-SparkSQL一些操作

    scala>val spark=new org.apache.spark.sql.SQLContext(sc) user.json {"age":"45" ...

  7. Spark记录-SparkSQL

    Spark SQL的一个用途是执行SQL查询.Spark SQL也可以用来从现有的Hive安装中读取数据.有关如何配置此功能的更多信息,请参阅Hive表部分.从另一种编程语言中运行SQL时,结果将作为 ...

  8. Spark入门实战系列--6.SparkSQL(上)--SparkSQL简介

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .SparkSQL的发展历程 1.1 Hive and Shark SparkSQL的前身是 ...

  9. SparkSQL相关语句总结

    1.in 不支持子查询 eg. select * from src where key in(select key from test); 支持查询个数 eg. select * from src w ...

随机推荐

  1. Qt Gui 第七章

    1.processEvents 该函数用来处理窗口的各种事件,重绘和event ; row < RowCount; ++row) { ; column < ColumnCount; ++c ...

  2. vue keep-alive 遇见 vue-router

    keep-alive 遇见 vue-router ·keep-alive 是Vue内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染 ·routre-view也是一个组件,如果直接被包在kee ...

  3. laravel封装返回json信息工具类

    1.工具类可以一次写入多方多方调用,很大程度的节约开发时间得到想要的信息 这里演示一个json接口的工具类(文件定义在App\Http\Controllers\Tools)中 <?php /** ...

  4. 【Unity|C#】基础篇(15)——异常处理(try/catch/throw)

    [学习资料] <C#图解教程>(第22章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu. ...

  5. python requests [Errno 104] Connection reset by peer

    有个需求,数据库有个表有将近 几千条 url 记录,每条记录都是一个图片,我需要请求他们拿到每个图片存到本地.一开始我是这么写的(伪代码): import requests for url in ur ...

  6. 打铁选手的 CDQ分治 刷题记录

    BZOJ3262 模板题,三位偏序. 注意第一维排完序之后再给二三维排序的时候还是要考虑下第一维的:如果二三维都相等的话第一维小的要在前面 代码: #include <bits/stdc++.h ...

  7. xmind修改默认配置

    XMIND使用过程中,输入英文字符的时候,第1.2层级的英文字母总是默认大写,手动修改很繁琐.默认字体,想切换成其他类型,也是要手动一个个去修改. 网上找了下相关的问题,找到一些解决办法,整理到文档中 ...

  8. 【PAT甲级】1118 Birds in Forest (25分)(并查集)

    题意: 输入一个正整数N(<=10000),接着输入N行数字每行包括一个正整数K和K个正整数,表示这K只鸟是同一棵树上的.输出最多可能有几棵树以及一共有多少只鸟.接着输入一个正整数Q,接着输入Q ...

  9. Controller-->View传值的几种方法

    Controller --- > View 传值的方法 ViewBag ViewData TempData 向普通View页面传一个Model对象 向强类型页面传传一个Model对象 用一个Vi ...

  10. 添加一个layer

    let testLayer = new TestLayer1();this.addChild(testLayer); let TestLayer1 = cc.Layer.extend({ ctor:f ...