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. ECMAScript基本语法——⑤运算符 三元运算符

    ?: 简化ifelse的操作

  2. 多项式乘法逆元 - NTT

    递归求解即可 #include <bits/stdc++.h> using namespace std; #define int long long namespace NTT { #de ...

  3. MyEclipse启动Tomcat报错:Could not find the main class: org.apache.catalina.startup

    问题描述 Could not find the main class:org.apache.catalina.startup.Bootstrap. Program will exit 问题原因 主要原 ...

  4. SpringBoot学习- 9、Slf4j日志

    SpringBoot学习足迹 在上一篇学习中 通过画红线的注解,可以直接在下面log.debug输出日志到控制台,但是写日志文件就没那么顺利了,一直不成功,找了N种配置,以下配置方法可行 首先确保已引 ...

  5. Win10下Pytorch和配置和安装

    Pytorch的安装 注意:Pytorch的版本,cuda版本,cudnn版本,Python版本,nvidia驱动版本要相互对应,否则就会出现各种报错和问题,无法使用GPU加速计算! 查看nvida驱 ...

  6. linux-安装、启动nginx

    1.下载安装pcre库 pcre是一个正则表达式库,nginx的rewrite模块需要依赖该库. 下载地址:http://www.pcre.org/ wget https://ftp.pcre.org ...

  7. go语言 RSA数字签名和验证签名

    package main import ( "crypto" "crypto/rand" "crypto/rsa" "crypto ...

  8. 【16】LRUChache

    题目 LRU 思路 LRU 大家都不陌生,操作系统的作业做过,思路就是一旦添加或者访问某个元素,则将其的"访问属性"置零,而其他元素的访问属性统统减一,这样一来,访问属性最小的元素 ...

  9. LED Holiday Light - Holiday Lighting Maintenance Guide

    If you are experiencing problems with LED holiday lighting, the following guides will provide advice ...

  10. linq和扩展方法

    c#的扩展方法 1.必须是在一个非嵌套.非泛型的静态类中的静态方法 2.至少一个参数,第一个参数附加this,不能有其他修饰符如out.ref 3.第一个参数不能是指针类型 上面例子是自定义的一个扩展 ...