spark-SQL的DataFrame和DataSet
阿新 • • 發佈:2019-02-03
方法一:
sqlContext.read() 返回DataFrameReader物件 sqlContext.read().json("student.json")讀取一個json檔案(這個json檔案中的內容不能是巢狀的)讀進來變成DataFrame, df.select("age").show(),如果沒有show,這個程式就不會執行,這個show就類似與Spark中Action型別的運算元,觸發執行通過df.show() df.printSchema()便可以檢視該df中的資訊。import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.sql.DataFrame; import org.apache.spark.sql.SQLContext; public class TestSparkSQL { public static void main(String[] args) { SparkConf conf = new SparkConf().setAppName("DataFrameOps").setMaster("local"); JavaSparkContext sc = new JavaSparkContext(conf); SQLContext sqlContext = new SQLContext(sc); DataFrame df = sqlContext.read().json("people.json"); /* * 操作DataFrame的第一種方式 * */ //類似 SQL的select from table; df.show(); //desc table df.printSchema(); //select age from table; df.select("age").show(); //select name from table; df.select("name").show(); //select name,age+10 from table; df.select(df.col("name"),df.col("age").plus(10)).show(); //select * from table where age > 20 df.filter(df.col("age").gt(20)).show(); } }