免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
大數(shù)據(jù)IMF傳奇行動(dòng)絕密課程第58課:使用Java和Scala在IDE中開(kāi)發(fā)DataFrame實(shí)戰(zhàn)

1、使用Java開(kāi)發(fā)DataFrame
2、使用Scala開(kāi)發(fā)DataFrame

創(chuàng)建DataFrame的時(shí)候可以來(lái)自于其它RDD,來(lái)源于Hive表,以及其他數(shù)據(jù)來(lái)源,例如json文件
SQLContext只支持SQL一種方言(delax?),HiveContext支持SQL方言以及其它方言,通過(guò)設(shè)置都可以支持。

//F:\sparkData\people.json文件{"name":"Michael"}{"name":"Andy","age":31}{"name":"Justin","age":20}

一、使用Java開(kāi)發(fā)DataFrame

package com.tom.spark.SparkApps.sql;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 DataFrameOps {    /**     * @param args     */    public static void main(String[] args) {        //創(chuàng)建SparkConf用于讀取系統(tǒng)配置信息并設(shè)置當(dāng)前應(yīng)用程序的名字        SparkConf conf = new SparkConf().setAppName("DataFrameOps").setMaster("local");        //創(chuàng)建JavaSparkContext對(duì)象實(shí)例作為整個(gè)Driver的核心基石        JavaSparkContext sc = new JavaSparkContext(conf);        //設(shè)置日志級(jí)別為WARN        sc.setLogLevel("WARN");        //創(chuàng)建SQLContext上下文對(duì)象用于SQL的分析        SQLContext sqlContext = new SQLContext(sc);        //創(chuàng)建Data Frame,可以簡(jiǎn)單的認(rèn)為DataFrame是一張表        DataFrame df = sqlContext.read().json("F:\\sparkData\\people.json");        //select * from table        df.show();        //desc table        df.printSchema();        //select name from table        df.select(df.col("name")).show();        //select name, age+10 from table        df.select(df.col("name"), df.col("age").plus(10)).show();        //select * from table where age > 21        df.filter(df.col("age").gt(21)).show();        //select age, count(1) from table group by age        df.groupBy("age").count().show(); //df.groupBy(df.col("age")).count().show();    }}

以下為程序輸出:

+----+-------+| age|   name|+----+-------+|null|Michael||  31|   Andy||  20| Justin|+----+-------+root |-- age: long (nullable = true) |-- name: string (nullable = true)+-------+|   name|+-------+|Michael||   Andy|| Justin|+-------++-------+----------+|   name|(age + 10)|+-------+----------+|Michael|      null||   Andy|        41|| Justin|        30|+-------+----------++---+----+|age|name|+---+----+| 31|Andy|+---+----++----+-----+| age|count|+----+-----+|  31|    1||null|    1||  20|    1|+----+-----+

二、使用Scala開(kāi)發(fā)DataFrame

package com.tom.spark.sqlimport org.apache.spark.sql.SQLContextimport org.apache.spark.{SparkConf, SparkContext}/**  *   */object DataFrameOps {  def main(args: Array[String]): Unit = {    val conf = new SparkConf().setAppName("DataFrameOps").setMaster("local")    val sc = new SparkContext(conf)    sc.setLogLevel("WARN")    val sqlContext = new SQLContext(sc)    val df = sqlContext.read.json("F:\\sparkData\\people.json")    df.show()    df.printSchema()    df.select("name").show()    df.select(df("name"),df("age")+10).show()    df.filter(df("age")>21).show()    df.groupBy("age").count().show()  }}

以下為程序輸出

+----+-------+| age|   name|+----+-------+|null|Michael||  31|   Andy||  20| Justin|+----+-------+root |-- age: long (nullable = true) |-- name: string (nullable = true)+-------+|   name|+-------+|Michael||   Andy|| Justin|+-------++-------+----------+|   name|(age + 10)|+-------+----------+|Michael|      null||   Andy|        41|| Justin|        30|+-------+----------++---+----+|age|name|+---+----+| 31|Andy|+---+----++----+-----+| age|count|+----+-----+|  31|    1||null|    1||  20|    1|+----+-----+

spark-submit可以指定–file參數(shù),可以把hive-site.xml中指定的hive文件夾添加進(jìn)來(lái)

spark-submit --class com.dt.spark.sql.DataFrameOps     --files /usr/local/hive/apache-hive-1.2.1-bin/conf/hive-site.xml     --driver-class-path /usr/local/hive/apace-hive-1.2.1-bin/mysql-connector-java-5.1.35-bin.jar     --master spark://Master:7077 /root/Documents/SparkApps/WordCount.jar
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
理解Spark SQL(二)—— SQLContext和HiveContext
Spark SQL 之 Data Sources
SparkSession簡(jiǎn)單介紹
Spark入門:讀寫Parquet(DataFrame)
Spark介紹(1)
Spark與Pandas中DataFrame的詳細(xì)對(duì)比
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服