Spark SQL 最簡單例子
pom.xml
<dependencies>
Java:
<dependencies>
-
<dependency>
-
<groupId>org.apache.spark</groupId>
-
<artifactId>spark-core_2.10</artifactId>
-
<version>2.1.0</version>
-
</dependency>
-
<dependency>
-
<groupId>org.apache.spark</groupId>
-
<artifactId>spark-sql_2.10</artifactId>
-
<version>2.1.0</version>
-
</dependency>
- </dependencies>
-
import java.io.Serializable;
-
import java.util.Arrays;
-
-
import org.apache.spark.SparkConf;
-
import org.apache.spark.api.java.JavaRDD;
-
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;
-
import org.apache.spark.sql.SparkSession;
-
-
public class SparkSqlTest {
-
public static class Person implements Serializable {
-
private static final long serialVersionUID = -6259413972682177507L;
-
private String name;
-
private int age;
-
-
public Person(String name, int age) {
-
this.name = name;
-
this.age = age;
-
}
-
public String toString() {
-
return name + ": " + age;
-
}
-
public String getName() {
-
return name;
-
}
-
public void setName(String name) {
-
this.name = name;
-
}
-
public int getAge() {
-
return age;
-
}
-
public void setAge(int age) {
-
this.age = age;
-
}
-
}
-
-
public static void main(String[] args) {
-
SparkConf conf = new SparkConf().setAppName("Test").setMaster("local");
-
JavaSparkContext sc = new JavaSparkContext(conf);
-
-
SparkSession spark = SparkSession.builder().appName("Test").getOrCreate();
-
JavaRDD<String> input = sc.parallelize(Arrays.asList("abc,1", "test,2"));
-
JavaRDD<Person> persons = input.map(s -> s.split(",")).map(s -> new Person(s[0], Integer.parseInt(s[1])));
- //[abc: 1, test: 2]
-
System.out.println(persons.collect());
-
-
Dataset<Row> df = spark.createDataFrame(persons, Person.class);
-
-
/*
-
+---+----+
-
|age|name|
-
+---+----+
-
| 1| abc|
-
| 2|test|
-
+---+----+
-
*/
-
df.show();
-
-
/*
-
root
-
|-- age: integer (nullable = false)
-
|-- name: string (nullable = true)
-
*/
-
df.printSchema();
-
-
SQLContext sql = new SQLContext(spark);
-
sql.registerDataFrameAsTable(df, "person");
-
-
/*
-
+---+----+
-
|age|name|
-
+---+----+
-
| 2|test|
-
+---+----+
-
*/
-
sql.sql("SELECT * FROM person WHERE age>1").show();
-
-
sc.close();
-
}
-
- }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10742815/viewspace-2136337/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Spark Stream 簡單例子Spark單例
- 一個最簡單的 Github workflow 例子Github
- linux c 一個autotools的最簡單例子Linux單例
- pycharm下與spark的互動 詳細配置說明以及spark 執行簡單例子PyCharmSpark單例
- Websocket簡單例子Web單例
- JNI 簡單例子單例
- HttpClient 簡單例子HTTPclient單例
- j2ee自定義標籤的最簡單例子單例
- XPATH的簡單例子單例
- spark streaming原始碼分析2 從簡單例子看DStream上的operationSpark原始碼單例
- Spark SQL | 目前Spark社群最活躍的元件之一SparkSQL元件
- 一個關於SQL隱碼攻擊的簡單例子SQL單例
- TensorFlow 的簡單例子單例
- 最簡大資料Spark-2.1.0大資料Spark
- spark簡單介紹(一)Spark
- 用最簡單的例子講解js中解決非同步的方法JS非同步
- Matplotlib1.簡單例子單例
- web到service簡單原理例子Web
- LRU演算法簡單例子演算法單例
- 尋struts連oracle簡單例子Oracle單例
- 織夢CMS最簡單實用的SQL語句SQL
- Spark 簡單例項(基本操作)Spark單例
- JUnit概述及一個簡單例子單例
- 擼一個簡單的MVVM例子MVVM
- UTL_FILE包的簡單例子單例
- 最簡單的sql語句(增刪改查統計)SQL
- 最簡單jboss教程!
- 簡單的整合 shiro + SpringMVC 例子SpringMVC
- 一個簡單的觀察者模式例子模式
- 多執行緒 -- 初學簡單例子執行緒單例
- smack和openfire通訊的簡單例子Mac單例
- struts2.01用法的簡單例子單例
- 一個簡單的Ajax請求例子
- Apache CXF 與 Spring 整合簡單例子ApacheSpring單例
- 最簡單的例子瞭解js中call()、apply()、bind()的區別和聯絡JSAPP
- PixiJS原始碼分析系列: 第一章 從最簡單的例子入手JS原始碼
- Spark系列 - (3) Spark SQLSparkSQL
- Spark SQLSparkSQL