设为首页 加入收藏

TOP

spark中UDF,从文件中读取数据(两种方式),然后输出【java版纯代码】
2019-05-11 00:14:37 】 浏览:81
Tags:spark UDF 文件 读取 数据 方式 然后 输出 java 代码

package com.bjsxt;


import org.apache.spark.SparkConf;
import org.apache.spark.SparkContext;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.function.Function;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.Row;

import org.apache.spark.sql.SQLContext;
/**
* 读取json格式的文件创建DataFrame
*
* 注意 :json文件中不能嵌套json格式的内容
*
* 1.读取json格式两种方式
* 2.df.show默认显示前20行,使用df.show(行数)显示多行
* 3.df.javaRDD/(scala df.rdd) 将DataFrame转换成RDD
* 4.df.printSchema()显示DataFrame中的Schema信息
* 5.dataFram自带的API 操作DataFrame ,用的少
* 6.想使用sql查询,首先要将DataFrame注册成临时表:df.registerTempTable("jtable"),再使用sql,怎么使用sqlsqlContext.sql("sql语句")
* 7.不能读取嵌套的json文件
* 8.df加载过来之后将列按照ascii排序了
* @author root
*
*/

public class JavaRdd {
public static void main(String[] args) {
SparkConf conf=new SparkConf().setAppName("test").setMaster("local");
SparkContext sc=new SparkContext(conf);
SQLContext SQLContext=new SQLContext(sc);
DataFrame df = SQLContext.read().format("json").load("./json");
JavaRDD<Row> javaRDD = df.javaRDD();
df.show();
df.printSchema();
System.out.println("kjjfljdlkgdfjlkdjgsfkjggjfdgkjfd");
javaRDD.map(new Function<Row, String>() {

@Override
public String call(Row row) throws Exception {
System.out.println("row="+row.get(0));
System.out.println("000000000000000000000000000000000");
System.out.println("row="+row.getAs("name"));
System.out.println("9999999999999999999999999999999999999999");
System.out.println("row="+row.getAs("age"));


return "xxx";
}
}).count();
}
}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇进程----线程基本知识 下一篇js进阶之对象属性之平时大家想不..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目