SparkSQL
路飞DD
一心修仙
展开
-
Spark SQL | SQLContext 用法
声明:SQLContext 已在 2.x 被废除,建议使用 SparkSession数据准备person.json{"name":"路飞","age":17,"deptno":1,"money":15}{"name":"索隆","age":18,"deptno":1,"money":9}{"name":"乔巴","age":5,"deptno":1,"money":5}{...原创 2019-07-03 18:17:47 · 2736 阅读 · 0 评论 -
Spark-submit 提交 报错 org.apache.spark.sql.execution.datasources.orc.OrcFileFormat could not be instant
错误场景如下代码:spark.sql("select e.empno,e.ename,e.job,e.mgr,e.comm from emp e join dept d on e.deptno = d.deptno") .filter("comm is not null") .write.parquet("/demp");spark-shell 可以跑的...原创 2019-07-05 00:45:54 · 9791 阅读 · 0 评论 -
Spark SQL 操作 Hive 表数据
spark-shell 方式操作 Hiveshow tablesselect * from empjoin 操作总结:和 HQL 语法一毛一样,只是记得 使用如下 格式 spark.sql(" xxxxxx ").show 即可如果嫌麻烦,还可以直接使用 spark-sql 进行查询,直接写 sql 即可操作 hive,如下结果为:编程方...原创 2019-07-05 00:38:20 · 2037 阅读 · 0 评论 -
SparkSession 访问 Hive 表数据报错:org.apache.spark.sql.AnalysisException: Table or view not found
错误场景当通过 SparkSession 访问 hive 中的表数据时,报错如下:Exception in thread "main" org.apache.spark.sql.AnalysisException: Table or view not found: emp; line 1 pos 47 at org.apache.spark.sql.catalyst.analys...原创 2019-07-04 19:58:05 · 3670 阅读 · 0 评论 -
Spark SQL 操作 Parquet 类型文件
Parquet介绍Apache Parquet是Hadoop生态圈中一种新型列式存储格式,它可以兼容Hadoop生态圈中大多数计算框架(Hadoop、Spark等),被多种查询引擎支持(Hive、Impala、Drill等),并且它是语言和平台无关的。Parquet最初是由Twitter和Cloudera(由于Impala的缘故)合作开发完成并开源,2015年5月从Apache的孵化器里...原创 2019-07-04 18:52:40 · 2311 阅读 · 0 评论 -
DataSet 的基本使用
DataSet 简介DataSet是分布式的数据集合,Dataset提供了强类型支持,也是在RDD的每行数据加了类型约束。DataSet是在Spark1.6中添加的新的接口。它集中了RDD的优点(强类型和可以用强大lambda函数)以及使用了Spark SQL优化的执行引擎。DataSet可以通过JVM的对象进行构建,可以用函数式的转换(map/flatmap/filter)进行多种操作...原创 2019-07-04 15:55:40 · 1216 阅读 · 0 评论 -
DataFrame API 操作
person.json{"name":"路飞","age":17,"deptno":1,"money":15}{"name":"索隆","age":18,"deptno":1,"money":9}{"name":"乔巴","age":5,"deptno":1,"money":5}{"name":"艾斯","age":18,"deptno":2,"money":18}{"name...原创 2019-07-04 12:19:55 · 3247 阅读 · 0 评论 -
DataFrame 与 RDD 互操作
Spark SQL 支持了两种不同的方式,将存在的 RDD 转换为 DataSet(DataSet 是 DataFrame 的更高层抽象)。DataFrame和RDD互操作的两种方式: 1)反射:case class 前提:事先需要知道你的字段、字段类型(优先考虑) 2)编程:如果事先不知道列,可以选择编程的方式实现转换person....原创 2019-07-04 11:38:04 · 222 阅读 · 0 评论 -
Jdbc 编程访问 spark SQL
首先启动 thriftserver./start-thriftserver.sh --master local[2] --jars /opt/module/hive-1.2.2/lib/mysql-connector-java-5.1.27-bin.jar 添加 pom 依赖 <dependency> <groupId>org....原创 2019-07-04 00:02:19 · 256 阅读 · 0 评论 -
spark-shell、spark-sql、thriftserver beeline 的区别
spark-shell、spark-sql 都是是一个独立的 spark application,启动几个就是几个 spark application每次都要重新启动申请资源。用thriftserver,无论启动多少个客户端(beeline),只要是连在一个thriftserver上,它都是一个spark application,后面不用在重新申请资源。能数据共享(上一个beeli...原创 2019-07-03 23:19:34 · 2208 阅读 · 0 评论 -
thriftserver & beeline 用法
启动 thriftserver 服务端[hadoop@hadoop2 sbin]$ ./start-thriftserver.sh \--master local[2] \--jars /opt/module/hive-1.2.2/lib/mysql-connector-java-5.1.27-bin.jarWebUI 查看启动 beeline 进行连接...原创 2019-07-03 22:53:44 · 408 阅读 · 0 评论 -
spark-shell & spark-sql 使用
spark-shell启动 spark-shell[hadoop@hadoop2 bin]$ ./spark-shell --master local[2] \--jars /opt/module/hive-1.2.2/lib/mysql-connector-java-5.1.27-bin.jar通过 spark-shell 操作 hive...原创 2019-07-03 22:31:42 · 12500 阅读 · 0 评论 -
Spark SQL | HiveContext 用法
代码如下:object demo2 { def main(args: Array[String]): Unit = { val sparkConf = new SparkConf() //sparkConf.setAppName("HiveContext").setMaster("local[*]") val sc = new SparkContext(sp...原创 2019-07-03 21:57:57 · 640 阅读 · 0 评论 -
SparkSQL 通过 HiveContext 查询 hive表数据报错 java.lang.ClassNotFoundException: sparkSql.demo2
错误java.lang.ClassNotFoundException: sparkSql.demo2 at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoa...原创 2019-07-03 21:53:05 · 975 阅读 · 0 评论 -
Spark SQL 写入 Json 格式文件报错 org.apache.spark.sql.AnalysisException: Found duplicate column(s)
错误场景如下两个 Json 文件person.json{"name":"路飞","age":17,"deptno":1,"money":15}{"name":"索隆","age":18,"deptno":1,"money":9}{"name":"乔巴","age":5,"deptno":1,"money":5}{"name":"艾斯","age":18,"deptno":...原创 2019-07-03 18:28:12 · 5273 阅读 · 0 评论 -
SparkSQL 操作 Mysql 数据
代码如下,就是根据连接以及表信息读取表中的数据转换为 DataFrame拿到 DataFrame 就可以十八般武艺各种操作了object SparkSQLMysqlDemo { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().appName("SparkSQLMysql...原创 2019-07-05 17:18:31 · 541 阅读 · 0 评论