![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SparK学习和总结
学习Spark常用语言Scala和Spark框架
nsq_ai
这个作者很懒,什么都没留下…
展开
-
Scala将两个列名相同,顺序不同的表按位置进行合并
前言将两个列名相同,顺序不同的表按位置进行合并union: 两个df合并,但是不按列名进行合并,而是位置,列名以前表为准(a.union(b) 列名顺序以a为准)程序import org.apache.spark.sql.SparkSessionobject test_unionbyname { val isLocal = true def main(args: Array[String]): Unit = { val spark = apply (this.getClas原创 2021-11-05 17:51:23 · 318 阅读 · 0 评论 -
Scala将两个相同列名的表进行合并
前言将两个相同列名的表进行合并,采用 unionByName:合并时按照列名进行合并,而不是位置程序import org.apache.spark.sql.SparkSessionobject test_unionbyname { val isLocal = true def main(args: Array[String]): Unit = { val spark = apply (this.getClass.getSimpleName,isLocal) imp原创 2021-11-05 15:38:33 · 718 阅读 · 0 评论 -
Scala 向表中添加一列并且赋值为null
前言需要向一个表中增加一列,并且赋值为null类型程序import org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.functions._import org.apache.spark.sql.types._object test_null { val isLocal = true def main(args: Array[String]): Unit = { val spark = apply (th原创 2021-11-05 15:16:10 · 648 阅读 · 0 评论 -
Scala 输出数组的地址,而不是值的解决方法
前言将 cell_grid_lists :List[String] = List("cell/level/type/grid","cell0/level0/type0/grid0","cell1/level1/type1/") 中"cell1/level1/type1/" 进行删除,重新放到一个List中,代码没有报错,但显示的是地址,我想要值。程序object test_List01 { def main(args: Array[String]): Unit = { val cell原创 2021-11-04 21:31:49 · 812 阅读 · 0 评论 -
Scala 删除List()中 拼接字符串中的空值
前言实际应用中,需要对List() 中 拼接字符串中的空值进行删除操作。程序object test_List_filter { def main(args: Array[String]): Unit = {// val cell_grid_lists :List[String] = List("cell/level/type/grid","cell0/level0/type0/grid0","cell1/level1/type1/") val cell_grid_lists :L原创 2021-11-04 21:18:52 · 403 阅读 · 0 评论 -
Scala 删除List(Map)中 为null的值
前言实际应用中,需要对List(Map) 中为null 的进行删除操作。程序object test_Map { def main(args: Array[String]): Unit = { var gridinfo: Map[String, List[Integer]] = Map () var grid_list :List[Map[String,List[Integer]]]= List() gridinfo += ("str1" -> List(3,5))原创 2021-11-04 21:07:44 · 833 阅读 · 0 评论 -
show partitions 分区查询
前言查询的分区情况程序Jupyter# 导入信息from pyspark.sql import SparkSession, Rowfrom pyspark import SQLContextfrom pyspark.sql.functions import udf, col, explode, collect_set, get_json_object, concat_ws, splitfrom pyspark.sql.types import StringType, IntegerTy原创 2021-10-21 10:33:17 · 10292 阅读 · 0 评论 -
Failed to execute goal org.scala-tools:maven-scala-plugin:2.15.2:compile (compile-scala) on project
前言在IEDA中,代码已经写好了,打算打包到服务器上运行,mvn clean packa 后直接报Failed to execute goal org.scala-tools:maven-scala-plugin:2.15.2:compile (compile-scala) on project解决方案1、网上很多都是说IDEA 中Scala版本和 本地版本不一致导致的,这个可以查看一下。我是其他项目可以正常打包,排除这个问题2、 代码有问题,仔细看看报错的地方,会发现是代码的问题,代码的问题,代原创 2021-10-14 17:33:57 · 1606 阅读 · 0 评论 -
Scala value foreach is not a member of java.util.List
前言在Scala中需要调用Java的代码时,报错 value foreach is not a member of java.util.List原因是采用了Java的方式,没有进行转换为Scala的方式。解决方式导入包: import scala.collection.JavaConverters._在For 循环的位置加入.asScala代码片段如下import scala.collection.JavaConverters._for ( cell_each <- cell_uni原创 2021-10-11 11:28:51 · 850 阅读 · 0 评论 -
Scala Map中数据全部取出来且数据之间使用分隔符
前言将Scala Map 中的数据,集中放在一起输出且数据之间使用分隔符,采用addString()函数函数定义: def addString(sb:mutable.StringBuilder, start:String, sep:String, end:String):mutable.StringBuilder Where, sep is the separator stated.返回类型:It returns the elements of the map in the String Builde原创 2021-10-09 21:56:43 · 618 阅读 · 0 评论 -
Scala List中数据全部放在一起且数据之间使用分隔符
前言将Scala List 中的数据,集中放在一起输出且数据之间使用分隔符,采用addString()函数函数定义: def addString(b:mutable.StringBuilder, start:String, sep:String, end:String):mutable.StringBuilder. Where, sep is the separator stated.返回类型:It returns the elements of the List in the String Buil原创 2021-10-09 21:51:59 · 355 阅读 · 0 评论 -
Scala List中数据全部放在一起
前言将Scala List 中的数据,集中放在一起输出,采用addString()函数函数定义: def addString(b: StringBuilder): StringBuilder返回类型: It returns the elements of the list to a string builder.实例object TestScala00 { def main(args:Array[String]) { // Creating a list val m1 =原创 2021-10-09 21:46:54 · 82 阅读 · 0 评论 -
Scala Map中嵌套List和Java Map中嵌套List之间进行相互转换操作
前言前面写了Scala Map和Java Map之间进行相互转换操作,还想进一步探究一番,在Map中嵌套List,相当于两层进行转化。实例import java.utilimport scala.collection.JavaConverters._object TestScala00 { def main(args:Array[String]) { // scala map 转为Java map var scalaMap: Map[String, List[Intege原创 2021-10-09 21:28:35 · 671 阅读 · 0 评论 -
Scala Map和Java Map之间进行相互转换操作
前言Scala 语言可以调用Java的一些东西,但是二者之间有时也需要进行换转之后,才能进行下一步的操作。在此,记录一下,两者的转换。实例import java.utilimport scala.collection.JavaConverters._object TestScala00 { def main(args:Array[String]) { // scala map 转为Java map var scalaMap: Map[String, String] = M原创 2021-10-09 21:13:19 · 3028 阅读 · 0 评论 -
Scala List和Java List 之间进行相互转换操作
前言Scala 语言可以调用Java的一些东西,但是二者之间有时也需要进行换转之后,才能进行下一步的操作。在此,记录一下,两者的转换。实例object TestScala00 { def main(args:Array[String]) { // 创建 Scala List var scala_List = List("ni", "an", "li") println( " Scala List :"+ scala_List) // Scala List转 J原创 2021-10-09 20:58:12 · 1819 阅读 · 0 评论 -
Scala List(Map1,Map2,Map3 ....) 转换为一个Map的形式
前言在一次处理数据时,需要将List(Map)形式的数据转换为Map的形式。这时最简单的方法就是采用fold()函数fold函数:折叠,提供一个输入参数作为初始值,然后大括号中应用自定义fun函数并返回值。list.fold(Map()){(x,y)=> x ++ y}实例object TestScala00 { def main(args:Array[String]) { var list= List(Map("g"->2.9),Map("h"->23.2),原创 2021-10-09 20:42:11 · 371 阅读 · 0 评论 -
Exception in thread “main“ java.lang.NoClassDefFoundError: org/codehaus/janino/InternalCompilerExcep
问题IDEA中运行程序,报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/janino/InternalCompilerException首先查询Exception in thread “main“ java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$ 是不是没有加上Include dependencies with “Pr原创 2021-10-03 20:18:20 · 764 阅读 · 0 评论 -
scalac: Token not found: /Users/shengquan.nian/Library/Caches/JetBrains/IntelliJIdea2021.1/compile-s
问题运行Scala代码时,出现一下报错:scalac: Token not found: /Users/shengquan.nian/Library/Caches/JetBrains/IntelliJIdea2021.1/compile-server/tokens/60223解决方式原因:Scala的版本出错了,可能是要更新了。解决方式:在 Settings -> Plugins 里面把 Scala 插件停用,重启 IDEA,再启用 Scala 插件、重启 IDEA,就可以了...原创 2021-09-23 10:36:51 · 1354 阅读 · 0 评论 -
TypeError: eval() arg 1 must be a string, bytes or code object
前言在一次使用Python eval()函数时,出现报错了,当时也不知道什么原因,后面经过查询解决了这个问题,也重新认识了eval()函数。TypeError: eval() arg 1 must be a string, bytes or code objecteval函数的参数必须为字符串,否则将报错解决方法:1、 检查是否为字符串,可以检查类型2、是否有为空的行(我是这个原因)eval()函数 简介作用:eval()函数又称为评估函数,作用是去掉参数中最外层引号并执行剩余语句示例原创 2021-09-11 12:13:54 · 21805 阅读 · 0 评论 -
PySpark 查询数据库信息
前言最近学的东西有些杂乱无章,用到什么就要学习什么,简单记录一下所学的东西,方便后面的巩固学习。pyspark简单查询数据库的一些信息程序导入环境设置from pyspark.sql import SparkSession, Rowfrom pyspark import SQLContextfrom pyspark.sql.functions import udf, col, explode, collect_set, get_json_object, concat_ws, split原创 2021-09-11 11:21:44 · 808 阅读 · 0 评论 -
Spark中DataFrame的常用操作
前言spark作为分布式计算框架,在工业界占据了比较主流的地位。spark同样也提供了DataFrame供用户使用。本文介绍DataFrame的一些常用操作操作先来简单介绍主程序json文件{"name": "nian"}{"name": "li","age": 34}{"name": "qian","age": 24}代码scala> import org.apache.spark.sql.SparkSessionimport org.apache.spark.sql.Spa原创 2021-09-08 20:14:12 · 675 阅读 · 0 评论 -
Spark DataFrame 的创建和保存
前言DataFrame是Spark中对带模式(schema)行列数据的抽象。DateFrame广泛应用于使用SQL处理大数据的各种场景。DataFrame 创建法一 、从不同类型的文件中加载数据创建DataFrame,spark.read 操作spark.read.json(“testJson.json”) 或者spark.read.format(“json”).load(“testJson.json”)json文件{"name":"min","age":20,}{"name":"ho",原创 2021-09-07 22:27:03 · 1218 阅读 · 0 评论 -
SparkSession 简介
前言最近在学习Spark时,首先遇到了SparkSession,功能挺强大的,集大成者。Apache Spark 2.0引入了SparkSession,其为用户提供了一个统一的切入点来使用Spark的各项功能,并且允许用户通过它调用DataFrame和Dataset相关API来编写Spark程序。简介SparkSession 主要用在 sparkSQL 中,当然也可以用在其他场合,他可以代替 SparkContext;SparkSession 实际上封装了 SparkContext,另外也封装了原创 2021-09-07 21:59:47 · 8856 阅读 · 1 评论 -
SparkSession 读取文件
前言刚学习Spark相关知识,很多东西还是很陌生,只能慢慢摸索前行。使用SparkSession读取parquet 文件,简单演示运行。程序package ScalaStudy.nianimport org.apache.spark.sql.SparkSessionobject studySpark { def main(args: Array[String]): Unit = { println("Starting ... ") val spark = SparkS原创 2021-09-07 21:36:22 · 1848 阅读 · 0 评论 -
Exception in thread “main“ java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$
前言刚开始使用Scala写代码,经常会遇到报错Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession$ at ScalaStudy.nian.studySpark$.main(studySpark.scala:10) at ScalaStudy.nian.studySpark.main(studySpark.scala)我是已经开了一个Scala的程序,后面再开一个程原创 2021-09-07 21:23:07 · 1945 阅读 · 0 评论