spark java dataframe_小记--------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 classDataFrameCreate {public static voidmain (String[] args){

SparkConf conf= newSparkConf()

.setAppName("DataFrameCreate")

.setMaster("local");

JavaSparkContext sc= newJavaSparkContext(conf);

SQLContext sqlContext= newSQLContext(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 classDataFrameOperation {public static voidmain(String [] args){//创建DataFrame

SparkConf conf = newSparkConf()

.setAppName("DataFrameCreate");

JavaSparkContext sc= newJavaSparkContext(conf);

SQLContext sqlContext= newSQLContext(sc);//创建出来的DataFrame完全可以理解为一张表

Dataset 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(1)).show();//对某一列的值进行过滤;eg:只展示age字段值大于18的数据

json.select(json.col("age").gt(18)).show();//根据某一列进行分组,并聚合;eg:通过age分组,并求出每组的个数

json.groupBy("age").count().show();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值