前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spark学习笔记:spark sql

spark学习笔记:spark sql

作者头像
MachineLP
发布2019-09-19 17:56:46
6950
发布2019-09-19 17:56:46
举报
文章被收录于专栏:小鹏的专栏小鹏的专栏

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/u014365862/article/details/100982613

spark-env.sh环境配置:(添加hive支持)

代码语言:javascript
复制
export JAVA_HOME=/usr/lib/jdk1.8.0_171
export SPARK_HISTORY_OPTS="-Dspark.history.kerberos.enabled=false \
-Dspark.history.kerberos.principal= \
-Dspark.history.kerberos.keytab="
HADOOP_CONF_DIR=/***/emr-hadoop-2.7.2/etc/hadoop
export HADOOP_HOME=/***/emr-hadoop-2.7.2
export HADOOP_CONF_DIR=/***/emr-hadoop-2.7.2/etc/hadoop
export YARN_CONF_DIR=/***/emr-hadoop-2.7.2/etc/hadoop

export CLASSPATH=$CLASSPATH:/***/emr-apache-hive-2.3.2-bin/lib
export HIVE_CONF_DIR=/***/emr-apache-hive-2.3.2-bin/conf
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/***/emr-apache-hive-2.3.2-bin/lib/mysql-connector-java-5.1.38.jar

scala代码:

代码语言:javascript
复制
import org.apache.spark.sql.SQLContext
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.hive.HiveContext


object SparkConfTrait {

    val conf = new SparkConf( ).setAppName( "TestSpark Pipeline" )
    val sparkContext = new SparkContext( conf )
    val hiveContext = new HiveContext(sparkContext)
    val sqlContext = new SQLContext(sparkContext)
    val spark = SparkSession.builder().enableHiveSupport.appName("TestSpark").getOrCreate()

}



object SparkSQL{

    def sqlFromFile( dataSqlFile:String ): DataFrame = {
        val sqlQuery = Source.fromFile( dataSqlFile ).mkString
        val dataSqlFrame = SparkConfTrait.spark.sql( sqlQuery )
        dataSqlFrame
    }


    // 测试    
    def main(args: Array[String]): Unit = {
        // val sqlQuery = Source.fromFile("path/to/data.sql").mkString //read file
        
        val trainDataSqlFrame = sqlFromFile( "path/to/data.sql"  )
        trainDataSqlFrame.show()

    }
}




object HiveQL{

    def sqlFromFile( dataSqlFile:String ): DataFrame = {
        val sqlQuery = Source.fromFile( dataSqlFile ).mkString
        val dataSqlFrame = SparkConfTrait.hiveContext.sql( sqlQuery )
        dataSqlFrame
    }



    // 测试    
    def main(args: Array[String]): Unit = {
        // val sqlQuery = Source.fromFile("path/to/data.sql").mkString //read file
        
        val trainDataSqlFrame = sqlFromFile( "path/to/data.sql" )
        trainDataSqlFrame.show()

    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年09月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档