object CatalogApiTest {
def main(args: Array[String]): Unit = {
val spark = SparkSession
.builder()
.appName("CatalogApiTest")
.getOrCreate() //查看spark sql应用用的是哪一种catalog
//目前支持hive metastore 和in-memory两种
//spark-shell默认的值为hive
//spark-shell --master spark://master:7077 --conf spark.sql.catalogImplementation=in-memory
spark.conf.get("spark.sql.catalogImplementation") //1:数据库元数据信息
spark.catalog.listDatabases().show(false)
spark.catalog.currentDatabase
val db = spark.catalog.getDatabase("default")
spark.catalog.databaseExists("twq") spark.sql("CREATE DATABASE IF NOT EXISTS twq " +
"COMMENT 'Test database' LOCATION 'hdfs://master:9999/user/hadoop-twq/spark-db'") spark.catalog.setCurrentDatabase("twq")
spark.catalog.currentDatabase //2:表元数据相关信息
spark.catalog.listTables("twq").show() val sessionDf = spark.read.parquet(s"${BASE_PATH}/trackerSession")
//创建一张表
sessionDf.createOrReplaceTempView("trackerSession") //catalog table相关元数据操作
spark.catalog.listTables("twq").show() //用sql的方式查询表
val sessionRecords = spark.sql("select * from trackerSession") sessionRecords.show() spark.catalog.tableExists("log")
spark.catalog.tableExists("trackerSession")
spark.catalog.tableExists("twq", "trackerSession") //todo 感觉应该是spark的bug
spark.catalog.listTables("twq").show()
spark.catalog.getTable("trackerSession") //表的缓存
spark.catalog.cacheTable("trackerSession")
spark.catalog.uncacheTable("trackerSession") //3:表的列的元数据信息
spark.catalog.listColumns("trackerSession").show() spark.sql("drop table trackerSession")
spark.sql("drop database twq")
spark.catalog.setCurrentDatabase("default")
spark.catalog.listTables().show() spark.stop()
}
}

  

SQL操作Spark SQL--CatalogApiTest的更多相关文章

  1. SQL操作Spark SQL--BasicSQLTestt

    object BasicSQLTest { def main(args: Array[String]): Unit = { val spark = SparkSession .builder() .a ...

  2. Spark SQL 之 Data Sources

    #Spark SQL 之 Data Sources 转载请注明出处:http://www.cnblogs.com/BYRans/ 数据源(Data Source) Spark SQL的DataFram ...

  3. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  4. Spark 官方文档(5)——Spark SQL,DataFrames和Datasets 指南

    Spark版本:1.6.2 概览 Spark SQL用于处理结构化数据,与Spark RDD API不同,它提供更多关于数据结构信息和计算任务运行信息的接口,Spark SQL内部使用这些额外的信息完 ...

  5. Spark SQL 官方文档-中文翻译

    Spark SQL 官方文档-中文翻译 Spark版本:Spark 1.5.2 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 Data ...

  6. Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

    Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...

  7. Spark官方1 ---------Spark SQL和DataFrame指南(1.5.0)

    概述 Spark SQL是用于结构化数据处理的Spark模块.它提供了一个称为DataFrames的编程抽象,也可以作为分布式SQL查询引擎. Spark SQL也可用于从现有的Hive安装中读取数据 ...

  8. Spark SQL数据源

    [TOC] 背景 Spark SQL是Spark的一个模块,用于结构化数据的处理. ++++++++++++++ +++++++++++++++++++++ | SQL | | Dataset API ...

  9. Spark SQL官方文档阅读--待完善

    1,DataFrame是一个将数据格式化为列形式的分布式容器,类似于一个关系型数据库表. 编程入口:SQLContext 2,SQLContext由SparkContext对象创建 也可创建一个功能更 ...

随机推荐

  1. base64与图片输出屏幕

    if ($base64) { ob_start(); // 输出图像 imagepng($this->_image); imagedestroy($this->_image); $imag ...

  2. 【剑指offer】数组在排序数组中出现的次数

    题目描述 统计一个数字在排序数组中出现的次数. 分析:数组有序,采用二分查找无疑 两种方法,时间复杂度差不多,都是利用二分查找,不过统计k出现的次数有所不同而已 方法1:二分查找k,找到任意一个k的下 ...

  3. 安卓学习日记第二天——Fragment

    一.基本概念 Fragment是依赖于Activity的,不能独立存在的. 一个Activity里可以有多个Fragment. 一个Fragment可以被多个Activity重用. Fragment有 ...

  4. golang微服务框架go-micro 入门笔记1.搭建 go-micro环境

    微服务的本质是让专业的人做专业的事情,做出更好的东西. golang具备高并发,静态编译等特性,在性能.安全等方面具备非常大的优势.go-micro是基于golang的微服务编程框架,go-micro ...

  5. appium 方法整理

    1.contexts contexts(self):     Returns the contexts within the current session.     返回当前会话中的上下文,使用后可 ...

  6. 或与异或 [背包DP]

    也许更好的阅读体验 \(\mathcal{Description}\) 给定\(n\)和长度为\(n\)的数组\(a\) 问从\(a\)中选取任意个数使得其 异或起来的值 等于 或起来的值 的方案数 ...

  7. C# vb .net实现裁剪效果特效滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的裁剪效果效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第 ...

  8. 在ASP.NET MVC中加载部分视图的方法及差别

    在视图里有多种方法可以加载部分视图,包括Partial() .Action().RenderPartial().RenderAction().RenderPage()方法.下面说明一下这些方法的差别. ...

  9. MVC Filter的使用方法

    相信对权限过滤大家伙都不陌生 用户要访问一个页面时 先对其权限进行判断并进行相应的处理动作 在webform中 最直接也是最原始的办法就是 在page_load事件中所有代码之前 先执行一个权限判断的 ...

  10. OpenSSL X509 Funtion

    OpenSSL X509 Funtion 来源:https://blog.csdn.net/wanjie518/article/details/6570141 现有的证书大都采用X509规范, 主要同 ...