实验使用环境为spark-3.0.0-preview2,教程观看的版本为spark1.6,spark2.0开始对sql进行改进,用sparksession实现hivecontext和sqlcontext统一,合并dataframe和datasets等,按照老的教程会引起问题。

一. SQLContext报红,找不到依赖包。
解决办法:在pom中添加依赖:

<!--导入spark sql依赖-->
<dependency>
   <groupId>org.apache.spark</groupId>
   <artifactId>spark-sql_2.12</artifactId>
   <version>3.0.0-preview2</version>
</dependency>
<dependency>
   <groupId>org.apache.spark</groupId>
   <artifactId>spark-hive_2.11</artifactId>
   <version>2.4.6</version>
</dependency>

二. 生成sparkSession实例时提示Required type:SparkContext,Provided:JavaSparkContext
解决办法:通过toSparkContext方法转化:

JavaSparkContext scc = new JavaSparkContext(conf);
SparkContext sc = JavaSparkContext.toSparkContext(scc);

三. 没有DataFrame类型
解决办法:用Dataset替代:

修改前:DataFrame df = xxxxxxxx

修改后:Dataset<Row> df = xxxx

四. 读取json文件时提示

Exception in thread "main" org.apache.spark.sql.AnalysisException: Multiple sources found for json (org.apache.spark.sql.execution.datasources.v2.json.JsonDataSourceV2, org.apache.spark.sql.execution.datasources.json.JsonFileFormat), please specify the fully qualified class name.;

解决办法:指定json:

修改前:Dataset<Row> df = sparkSession.read().format("json").load("./json");

Dataset<Row> df = sparkSession.read().format("org.apache.spark.sql.
execution.datasources.json.JsonFileFormat").load("./json");
                    实验使用环境为spark-3.0.0-preview2,教程观看的版本为spark1.6,spark2.0开始对sql进行改进,用sparksession实现hivecontext和sqlcontext统一,合并dataframe和datasets等,按照老的教程会引起问题。一. SQLContext报红,找不到依赖包。解决办法:在pom中添加依赖:&lt;!--导入spark sql依赖--&gt;&lt;dependency&gt;   &lt;groupId&gt;org.apache.sp
				
Spark SQLspark套件中一个模板,它将数据的计算任务通过SQL的形式转换成了RDD的计算,类似于Hive通过SQL的形式将数据的计算任务转换成了MapReduce。 Spark SQL的特点: 1、和Spark Core的无缝集成,可以在写整个RDD应用的时候,配置Spark SQL来完成逻辑实现。 2、统一的数据访问方式,Spark SQL提供标准化的SQL查询。 3、Hive的继承,Spark SQL通过内嵌的hive或者连接外部已经部署好的hive案例,实现了对hive语法的继承和操作。 4、标准化的连接方式,Spark SQL可以通过启动thrift Server来支持JD
1.2:sparkSQL的性能 5 1.2.1:内存列存储(In-Memory Columnar Storage) 6 1.2.2:字节码生成技术(bytecode generation,即CG) 6 1.2.3:scala代码优化 7 二:sparkSQL运行架构 8 2.1:Tree和Rule 9 2.1.1:Tree 10 2.1.2:Rule 10 2.2:sqlContext的运行过程 12 2.3:hiveContext的运行过程 14 2.4:catalyst优化器 16 三:sparkSQL组件之解析 17 3.1:LogicalPlan 18 3.2:SqlParser 20 3.1.1:解析过程 20 3.1.2:SqlParser 22 3.1.3:SqlLexical 25 3.1.4:query 26 3.3:Analyzer 26 3.4:Optimizer 28 3.5:SpankPlan 30 四:深入了解sparkSQL运行计划 30 4.1:hive/console安装 30 4.1.1:安装hive/cosole 30 4.1.2:hive/console原理 31 4.2:常用操作 32 4.2.1 查看查询的schema 32 4.2.2 查看查询的整个运行计划 33 4.2.3 查看查询的Unresolved LogicalPlan 33 4.2.4 查看查询的analyzed LogicalPlan 33 4.2.5 查看优化后的LogicalPlan 33 4.2.6 查看物理计划 33 4.2.7 查看RDD的转换过程 33 4.2.8 更多的操作 34 4.3:不同数据源的运行计划 34 4.3.1 json文件 34 4.3.2 parquet文件 35 4.3.3 hive数据 36 4.4:不同查询的运行计划 36 4.4.1 聚合查询 36 4.4.2 join操作 37 4.4.3 Distinct操作 37 4.5:查询的优化 38 4.5.1 CombineFilters 38 4.5.2 PushPredicateThroughProject 39 4.5.3 ConstantFolding 39 4.5.4 自定义优化 39 五:测试环境之搭建 40 5.1:虚拟集群的搭建(hadoop1、hadoop2、hadoop3) 41 5.1.1:hadoop2.2.0集群搭建 41 5.1.2:MySQL的安装 41 5.1.3:hive的安装 41 5.1.4:Spark1.1.0 Standalone集群搭建 42 5.2:客户端的搭建 42 5.3:文件数据准备工作 42 5.4:hive数据准备工作 43 六:sparkSQL之基础应用 43 6.1:sqlContext基础应用 44 6.1.1:RDD 44 6.1.2:parquet文件 46 6.1.3:json文件 46 6.2:hiveContext基础应用 47 6.3:混合使用 49 6.4:缓存之使用 50 6.5:DSL之使用 51 6.6:Tips 51 七:ThriftServer和CLI 51 7.1:令人惊讶的CLI 51 7.1.1 CLI配置 52 7.1.2 CLI命令参数 52 7.1.3 CLI使用 53 7.2:ThriftServer 53 7.2.1 ThriftServer配置 53 7.2.2 ThriftServer命令参数 54 7.2.3 ThriftServer使用 54 7.3:小结 56 八:sparkSQL之综合应用 57 8.1:店铺分类 57 8.2:PageRank 59 8.3:小结 61 九:sparkSQL之调优 61 9.1:并行性 62 9.2: 高效的数据格式 62 9.3:内存的使用 63 9.4:合适的Task 64 9.5:其他的一些建议 64 十:总结 64
java.lang.IllegalArgumentException: Illegal pattern component: XXX 第一次出现这个问题:主要原因是缺少依赖,在pom文件中导入依赖 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.5&
做推荐系统实战的时候,执行FeatureEngineering(scala)文件出现以下错误: ERROR SparkContext: Error initializing SparkContext. java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200 解决办法: 1.点击Edit Configurations 2.如果你的设置界面有下面红框,直接粘贴以下这串文字 -Xms128m -
到之后,需要将该库、jar包,加入到当前项目,使得代码中的import xxx得以正常导入 二、解决方法 1、去apache(点击这里可直接进入)官网下载apache.spark 2、打开IDEA软件 点击File——>Project Structure——>Modules——>Dependencies 3、点击右边的+,选择 Jars或目录,选择下载好的Jar包,单击确定,然后勾选中刚添加进去的jars