小记--------sparksql和DataFrame的小小案例java、scala版本
package cn.spark.study.sql; import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.SQLContext; /**
* 创建dataframe
*/
public class DataFrameCreate {
public static void main (String[] args){
SparkConf conf = new SparkConf()
.setAppName("DataFrameCreate")
.setMaster("local");
JavaSparkContext sc = new JavaSparkContext(conf);
SQLContext sqlContext = new SQLContext(sc);
sqlContext.read().json("hdfs://spark1:9000/test.json").show();
}
} //=======================分隔符====================================== package cn.spark.study.sql; import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SQLContext;
/**
* dataframe常用操作
*/
public class DataFrameOperation {
public static void main(String [] args){
// 创建DataFrame
SparkConf conf = new SparkConf()
.setAppName("DataFrameCreate");
JavaSparkContext sc = new JavaSparkContext(conf);
SQLContext sqlContext = new SQLContext(sc); // 创建出来的DataFrame完全可以理解为一张表
Dataset<Row> json = sqlContext.read().json("hdfs://spark1:9000/students.json");
//打印dataframe ;select * from 表名
json.show();
//打印dataframe的元数据信息(schema)
json.printSchema();
//查询某一列的数据
json.select("name").show();
//查询多列 name ,age 并对所有的age列的结果值加1
json.select(json.col("name") , json.col("age").plus()).show();
//对某一列的值进行过滤;eg:只展示age字段值大于18的数据
json.select(json.col("age").gt()).show();
//根据某一列进行分组,并聚合;eg:通过age分组,并求出每组的个数
json.groupBy("age").count().show();
}
}
package cn.spark.study.sql import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext} /**
* 创建 dataframe
*/
object DataFrameCreateScala {
def main(args: Array[String]): Unit = {
val conf = new SparkConf()
.setMaster("dataFramecreate")
.setAppName("local") val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc) sqlContext.read.json("hdfs://spark1/test.json").show()
}
} ===================================分隔符========================================
package cn.spark.study.sql import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext} /**
* dataframe的常用操作
*/
object DataframeOperation {
def main(args: Array[String]): Unit = {
val conf = new SparkConf()
.setAppName("dataframeOperation")
.setMaster("local")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
val df = sqlContext.read.json("hdfs://spark1:9000/text.json") //打印dataframe
df.show()
//打印dataframe的schema
df.printSchema()
//查询某一列的数据
df.select("name").show()
//查询多列数据并进行计算;eg:查询name,age列,并对age列的值+1
df.select(df("name") , df("age")+).show()
//查询某列并对其过滤;eg:查询age列并且值大于18
df.select(df("age").gt()).show()
df.select(df("age")>).show()
//对某一列进行分组,并对分组后的结果进行求个数
df.groupBy(df("age")).count().show()
}
}
小记--------sparksql和DataFrame的小小案例java、scala版本的更多相关文章
- 大数据学习day24-------spark07-----1. sortBy是Transformation算子,为什么会触发Action 2. SparkSQL 3. DataFrame的创建 4. DSL风格API语法 5 两种风格(SQL、DSL)计算workcount案例
1. sortBy是Transformation算子,为什么会触发Action sortBy需要对数据进行全局排序,其需要用到RangePartitioner,而在创建RangePartitioner ...
- SparkSql官方文档中文翻译(java版本)
1 概述(Overview) 2 DataFrames 2.1 入口:SQLContext(Starting Point: SQLContext) 2.2 创建DataFrames(Creating ...
- SparkSQL和DataFrame
SparkSQL和DataFrame SparkSQL简介 Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用.它 ...
- 【sparkSQL】DataFrame的常用操作
scala> import org.apache.spark.sql.SparkSession import org.apache.spark.sql.SparkSession scala> ...
- _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)
博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
- 35、sparkSQL及DataFrame
一.saprkSQL背景 Spark 1.0版本开始,推出了Spark SQL.其实最早使用的,都是Hadoop自己的Hive查询引擎:但是后来Spark提供了Shark:再后来Shark被淘汰,推出 ...
- sparkSQL获取DataFrame的几种方式
sparkSQL获取DataFrame的几种方式 1. on a specific DataFrame. import org.apache.spark.sql.Column df("col ...
- SparkSQL学习进度9-SQL实战案例
Spark SQL 基本操作 将下列 JSON 格式数据复制到 Linux 系统中,并保存命名为 employee.json. { "id":1 , "name&quo ...
- dataframe 数据统计可视化---spark scala 应用
统计效果: 代码部分: import org.apache.spark.sql.hive.HiveContext import org.apache.spark.{Logging, SparkConf ...
随机推荐
- 期望与概率dp
概率与期望dp 定义: 概率:事件A发生的可能性,计作P(A) 期望:事件A结果的平均大小,记住E(x) E(x)=每种结果的大小与其概率的乘积的和 注意计算概率时需要考虑是否要用容斥原理 期望d ...
- Makefile规则介绍
Makefile 一个规则 三要素:目标,依赖,命令 目标:依赖 命令 1.第一条规则是用来生成终极目标的规则 如果规则中的依赖不存在,向下寻找其他的规则 更新机制:比较的是目标文件和 ...
- 数据结构实验之链表七:单链表中重复元素的删除(SDUT 2122)
#include <bits/stdc++.h> using namespace std; typedef struct node { int data; struct node* nex ...
- 第三方库requests详解
Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库.它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTT ...
- linux技巧----查找某个正在执行的脚本
如果在机器上发现有执行的脚本,却不知道在哪,可以这样找 例如 # netstat -ltnp Active Internet connections (only servers) Proto Recv ...
- 预处理、const、static与sizeof-static全局变量与普通的全局变量有什么区别
1:全局变量的说明之前再加上static就构成了静态的全局变量.全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式.这两者在存储方式上并无不同.这两者的区别在于,非静态全局变量的作用域是整 ...
- 数据结构-用C++实现一个二叉树,递归方法中序遍历
1:二叉排序树,又称二叉树.其定义为:二叉排序树或者空树,或者是满足如下性质的二叉树. (1)若它的左子树非空,则左子树上所有节点的值均小于根节点的值. (2)若它的右子树非空,则右子树上所有节点的值 ...
- 外网访问内网的FTP服务器
转自 外网访问内网的FTP服务器 首先感谢作者给出的总结,原文是介绍Serv-U的,我针对FileZilla Server进行了稍微修改,仅看操作可直接跳到分割线后第3部分. 1. 背景简介最近研究如 ...
- LeetCode 279. 完全平方数(Perfect Squares)
题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n.你需要让组成和的完全平方数的个数最少. 示例 1: 输入: n = 12 输出: 3 解释 ...
- pycharm中模块不能导入的问题
在pycharm中发现模块老是导入不成功 只能以这样的映射的方式 现在才知道: 模块的标志符可以由字母.数字.下划线组成,但是, 不能以数字开头,如果在给python文件起名时,以数字开头是无法在py ...