dataframe 을 만 드 는 몇 가지 방법 - json 형식의 파일 을 읽 습 니 다.
1. 자바 버 전의 코드:
SparkConf conf = new SparkConf();
conf.setMaster("local").setAppName("jsonfile");
SparkContext sc = new SparkContext(conf);
// sqlContext
SQLContext sqlContext = new SQLContext(sc);
/**
* DataFrame RDD RDD Row 。
* json
*/
DataFrame df = sqlContext.read().format("json").load("sparksql/json");
// DataFrame df2 = sqlContext.read().json("sparksql/json.txt");
// df2.show();
/**
* DataFrame RDD
*/
RDD rdd = df.rdd();
/**
* DataFrame , 20 。 show( )
* : , ascii 。
*/
// df.show();
/**
* schema
*/
df.printSchema();
/**
* dataFram API DataFrame
*/
//select name from table
// df.select("name").show();
//select name age+10 as addage from table
df.select(df.col("name"),df.col("age").plus(10).alias("addage")).show();
//select name ,age from table where age>19
df.select(df.col("name"),df.col("age")).where(df.col("age").gt(19)).show();
//select count(*) from table group by age
df.groupBy(df.col("age")).count().show();
/**
* DataFrame , , ,
*/
df.registerTempTable("jtable");
DataFrame sql = sqlContext.sql("select age,count(1) from jtable group by age");
DataFrame sql2 = sqlContext.sql("select * from jtable");
sc.stop();
기본적으로 앞의 20 줄 을 표시 합 니 다. 여러 줄 을 표시 하려 면 설정 을 통 해 할 수 있 습 니 다.
json 형식 파일 을 읽 는 방법 은 두 가지 가 있 습 니 다.
DataFrame df = sqlContext.read().format("json").load("sparksql/json");
// DataFrame df2 = sqlContext.read().json("sparksql/json.txt");
표 정 보 를 표시 하 는 방법 은 두 가지 가 있 습 니 다.
df. show 또는 df. printSchema
2. Scala 코드
val conf = new SparkConf()
conf.setMaster("local").setAppName("jsonfile")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
val df = sqlContext.read.json("sparksql/json")
//val df1 = sqlContext.read.format("json").load("sparksql/json")
df.show()
df.printSchema()
//select * from table
df.select(df.col("name")).show()
//select name from table where age>19
df.select(df.col("name"),df.col("age")).where(df.col("age").gt(19)).show()
//select count(*) from table group by age
df.groupBy(df.col("age")).count().show();
/**
*
*/
df.registerTempTable("jtable")
val result = sqlContext.sql("select * from jtable")
result.show()
sc.stop()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SparkSql 프로젝트 실전저희 의 이번 Spark - sql 작업 에서 모든 데 이 터 는 Hive 에서 나 왔 습 니 다. 먼저 Hive 에 표를 만 들 고 데 이 터 를 가 져 옵 니 다. 제2 장 수요 1: 각 지역 인기 상품 Top ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.