spark操作hive简单代码
2016-09-23 00:54
375 查看
import org.apache.spark.SparkConf import org.apache.spark.sql.SparkSession /** * Created by zengxiaosen on 16/9/23. */ object hiveoperation { def main(args: Array[String]): Unit = { val sparkConf = new SparkConf().setAppName("hive").setMaster("local") val ss = SparkSession.builder() .enableHiveSupport() .config(sparkConf) .getOrCreate() import ss.implicits._ val date = "2015-08-28" //通常通过参数传过来 /* 在hive表中 desc track_log 出现: id string url string referer string keyword string type string guid string pageid string moduleid string linkid string attachedinfo string sessionid string trackeru string cookie string ordercode string tracktime string enduserid string firstlink string sessionviewno string productid string curmerchantid string provinceid string cityid string ds string hour string #Partition information #col_name data_type comment ds string hour string */ val sqlStr = s""" |insert overwrite into daily_visit partition (date='$date') //日期,通常是通过参数传进来的 |select date,count(distinct guid) uv,sum(pv) pv, |count(case when pv>=2 then sessionid else null end) second_num, |count(sessionid) visits from |(select ds date, sessionid, max(guid) guid, count(url) pv from tracklog and hour='18' |group by ds,sessionid) a |group by date """.stripMargin println("执行中。。。"+sqlStr) //返回dataframe,即dataset val rdd = ss.sql(sqlStr) rdd.rdd.foreach(println) /* 把hive-site.xml放到工程里,执行无法直接连上hive!!! spark通过thrift服务,访问hive元数据库 在pom中加入 <property> <name>hive.metastore.uris</name> <value>thrift://master:9083</value> </property> 在idea上从来没有实现过,所以还是打包去集群去运行把! 原因是idea无法连上thrift://master:9083 */ /* 结果落到hive表 在hive中建表: create table daily_visit( //date string因为是分区表,所以这个日期就不要里 uv bigint, pv bigint, second_num bigint, visits bigint) partitioned by(date string) show tables desc daily_visit */ } }
相关文章推荐
- 把Hive操作的spark代码丢到yarn上面运行找不到数据库
- c#简单数据库操作代码
- [每天一个demo]用c#实现简单的xml操作代码
- php中mysql连接和基本操作代码(快速测试使用,简单方便)
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
- 使用Klockwork进行代码分析简单操作流程
- [收藏]使用DOM操作XML文档的简单范例代码
- hive 简单操作搜狗实验室的词频文件
- hive基本的操作语句(实例简单易懂,create table XX as select XX)
- hive基本的操作语句(实例简单易懂,create table XX as select XX)
- Hive学习笔记-API简单操作
- Lazarus 上 CreateFile 操控流驱动(简单串口操作代码和示例)
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
- MapReduce实验:Hive安装以及简单操作
- 简单数据库操作代码(添加删除修改读取)
- hive/hbase的简单操作
- Delphi入门4--自己写代码连接资料库,对数据进行简单操作,还是简单的入门
- hive 的 简单操作语句
- hive 简单操作和错误