首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【技术分享】Spark DataFrame入门手册

2.jpg 下面就是从tdw表中读取对应的表格数据,然后就可以使用DataFrame的API来操作数据表格,其中TDWSQLProvider是数平提供的spark tookit,可以在KM上找到这些API...集合的值 默认是20行,返回类型是unit 9、 show(n:Int)返回n行,,返回值类型是unit 10、 table(n:Int) 返回n行 ,类型是row 类型 DataFrame的基本操作...explan()打印执行计划 5、 explain(n:Boolean) 输入值为 false 或者true ,返回值是unit  默认是false ,如果输入true 将会打印 逻辑的和物理的 6、...Column) 删除某列 返回dataframe类型 10、 dropDuplicates(colNames: Array[String]) 删除相同的列 返回一个dataframe 11、 except...类型 去n 条数据出来 18、 na: DataFrameNaFunctions ,可以调用dataframenafunctions的功能区做过滤df.na.drop().show(); 删除为空的行

5.1K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PySpark SQL——SQL和pd.DataFrame的结合体

    那么,在已经有了RDD的基础上,Spark为什么还要推出SQL呢?...以上主要是类比SQL中的关键字用法介绍了DataFrame部分主要操作,而学习DataFrame的另一个主要参照物就是pandas.DataFrame,例如以下操作: dropna:删除空值行 实际上也可以接收指定列名或阈值...,当接收列名时则仅当相应列为空时才删除;当接收阈值参数时,则根据各行空值个数是否达到指定阈值进行删除与否 dropDuplicates/drop_duplicates:删除重复行 二者为同名函数,与pandas...中的drop_duplicates函数功能完全一致 fillna:空值填充 与pandas中fillna功能一致,根据特定规则对空值进行填充,也可接收字典参数对各列指定不同填充 fill:广义填充 drop...select) show:将DataFrame显示打印 实际上show是spark中的action算子,即会真正执行计算并返回结果;而前面的很多操作则属于transform,仅加入到DAG中完成逻辑添加

    10K20

    spark dataframe操作集锦(提取前几行,合并,入库等)

    (cols: String*) 返回一个通过数学计算的类表值(count, mean, stddev, min, and max),这个可以传多个参数,中间用逗号分隔,如果有字段为空,那么不参与运算,只这对数值类型的字段...集合的值 默认是20行,返回类型是unit 9、 show(n:Int)返回n行,,返回值类型是unit 10、 table(n:Int) 返回n行  ,类型是row 类型 dataframe的基本操作... explan()打印执行计划  物理的 5、 explain(n:Boolean) 输入值为 false 或者true ,返回值是unit  默认是false ,如果输入true 将会打印 逻辑的和物理的...字段根据空格来拆分,拆分的字段放在names里面 13、 filter(conditionExpr: String): 刷选部分数据,返回dataframe类型 df.filter("age>10")....: DataFrameNaFunctions ,可以调用dataframenafunctions的功能区做过滤 df.na.drop().show(); 删除为空的行 19、 orderBy(sortExprs

    1.4K30

    Spark SQL 数据统计 Scala 开发小结

    在 Spark 2.1 中, DataFrame 的概念已经弱化了,将它视为 DataSet 的一种实现 DataFrame is simply a type alias of Dataset[Row]...retFlag = false } retFlag } ) // 这里 有两个地方需要说明 isNullAt 首先要判断要选取的列的值是否为空...,将空值替换为 0.0 unionData.na.fill(0.0) 5、NaN 数据中存在数据丢失 NaN,如果数据中存在 NaN(不是 null ),那么一些统计函数算出来的数据就会变成 NaN,...environment 参数 DataFrame shuffle size 设置值 sparkSession.conf.set("spark.sql.shuffle.partitions", "200...") DataFrame groupBy cube 统计的时候,需要 shuffle,目前 tdw 的 shuffle 默认 partiton 的个数是 200, 如果数据量过大,或者 cube 的时候数据膨胀

    9.6K1916

    Spark SQL,DataFrame以及 Datasets 编程指南 - For 2.0

    相较于强类型的 Scala/Java Dataset 的“有类型操作”,DataFrame 上的操作又被称为“无类型操作”。...saveAsTable 默认会创建一个 “受管理表”,意味着数据的位置都是受 metastore 管理的。当 “受管理表” 被删除,其对应的数据也都会被删除。...如果你不希望自动推断分区列的类型,将 spark.sql.sources.partitionColumnTypeInference.enabled 设置为 false 即可,该值默认为 true。...可以调用 SparkSession 的 setConf 方法来设置内存缓存的参数: 选项 默认值 含义 spark.sql.inMemoryColumnarStorage.compressed true...row,更大的值有助于提升内存使用率和压缩率,但要注意避免 OOMs 其他配置项 调整以下选项也能改善查询性能,由于一些优化可能会在以后的版本中自动化,所以以下选项可能会在以后被弃用 选项名 默认值

    4K20

    大数据技术之_19_Spark学习_03_Spark SQL 应用解析小结

    5、type DataFrame = Dataset[Row] 6、DataFrame 和 DataSet 都有可控的内存管理机制,所有数据都保存在非堆内存上,节省了大量空间之外,还摆脱了GC的限制。...DSL 风格的使用方式:属性的获取方法 $     df.filter($"age" > 21).show()     //将 DataFrame 注册为表     df.createOrReplaceTempView...即直接指定类型 3、如果使用通用模式,则 spark 默认的 parquet 是默认格式,那么 sparkSession.read.load 它加载的默认是 parquet 格式;dataFrame.write.save...如果 spark 路径下发现有 metastore_db 和 spark-warehouse,删除掉。然后重启集群。...=hdfs://hadoop102:9000/spark_warehouse 5、注意:如果在 load 数据的时候,需要先将数据放到 HDFS 上。

    1.5K20

    Structured Streaming 编程指南

    spark.implicits._ 然后,创建一个流式 Streaming DataFrame 来代表不断从 localhost:9999 接收数据,并在该 DataFrame 上执行 transform...lines 转化为 DataFrame wordCounts 与在静态 DataFrame 上执行的操作完全相同。...最大文件数(默认无限大) latestFirst:是否首先处理最新的文件,当有大量积压的文件时很有用(默认 false) fileNameOnly:是否仅根据文件名而不是完整路径检查新文件(默认...在分组聚合中,为用户指定的分组列中的每个唯一值维护一个聚合值(例如计数)。...所以,我们还支持 append 模式,只有最后确定的计数被写入。这如下图所示。 注意,在非流式 Dataset 上使用 withWatermark 是无效的空操作。 ?

    2K20

    一文介绍Pandas中的9种数据访问方式

    认识了这两点,那么就很容易理解DataFrame中数据访问的若干方法,比如: 1. [ ],这是一种最常用的数据访问方式,某种意义上沿袭了Python中的语法糖特色。..."访问 切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末值存在于标签列中),包含两端标签结果,无匹配行时返回为空...不过这个命名其实是非常直观且好用的,如果熟悉Spark则会自然联想到在Spark中其实数据过滤主要就是用给的where算子。...在Spark中,filter是where的别名算子,即二者实现相同功能;但在pandas的DataFrame中却远非如此。...实际上,DataFrame中的lookup执行的功能与Excel中的lookup函数差距还是挺大的,初学之时颇有一种挂羊头卖狗肉的感觉。

    3.8K30
    领券