首页
学习
活动
专区
圈层
工具
发布

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

spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能。当然主要对类SQL的支持。 在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选、合并,重新入库。...首先加载数据集,然后在提取数据集的前几行过程中,才找到limit的函数。 而合并就用到union函数,重新入库,就是registerTemple注册成表,再进行写入到HIVE中。...scala> val fes = hiveContext.sql(sqlss) fes: org.apache.spark.sql.DataFrame = [caller_num: string, is_sr...:String*)将参数中的几个字段返回一个新的dataframe类型的, 13、 unpersist() 返回dataframe.this.type 类型,去除模式中的数据 14、 unpersist...(col1: String, cols: String*) 返回一个GroupedData类型,根据某些字段来汇总 8、 distinct 去重 返回一个dataframe类型 9、 drop(col:

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

    spark sql编程之实现合并Parquet格式的DataFrame的schema

    问题导读 1.DataFrame合并schema由哪个配置项控制? 2.修改配置项的方式有哪两种? 3.spark读取hive parquet格式的表,是否转换为自己的格式?...合并schema 首先创建RDD,并转换为含有两个字段"value", "square"的DataFrame [Scala] 纯文本查看 复制代码 ?...squaresDF.write.parquet("data/test_table/key=1") 然后在创建RDD,并转换为含有两个字段"value", "cube"的DataFrame [Scala...如果想合并schema需要设置mergeSchema 为true,当然还有另外一种方式是设置spark.sql.parquet.mergeSchema为true。...相关补充说明: Hive metastore Parquet表格式转换 当读取hive的 Parquet 表时,Spark SQL为了提高性能,会使用自己的支持的Parquet,由配置 spark.sql.hive.convertMetastoreParquet

    1.8K70

    合并Pandas的DataFrame方法汇总

    Pandas提供好几种方法和函数来实现合并DataFrame的操作,一般的操作结果是创建一个新的DataFrame,而对原始数据没有任何影响。...因此,如果其中一个表中缺少user_id ,它就不会在合并的DataFrame中。 即使交换了左右行的位置,结果仍然如此。...用来调用join() 方法的DataFrame是左DataFrame。other参数中的DataFrame是右DataFrame。...这种追加的操作,比较适合于将一个DataFrame的每行合并到另外一个DataFrame的尾部,即得到一个新的DataFrame,它包含2个DataFrames的所有的行,而不是在它们的列上匹配数据。...这样,就要保留第一个DataFrame中的所有非缺失值,同时用第二个DataFrame可用的非缺失值(如果有这样的非缺失值)替换第一个DataFrame中的所有NaN。

    6.4K10

    spark dataframe新增列的处理

    往一个dataframe新增某个列是很常见的事情。 然而这个资料还是不多,很多都需要很多变换。而且一些字段可能还不太好添加。 不过由于这回需要增加的列非常简单,倒也没有必要再用UDF函数去修改列。...利用withColumn函数就能实现对dataframe中列的添加。但是由于withColumn这个函数中的第二个参数col必须为原有的某一列。所以默认先选择了个ID。...scala> val df = sqlContext.range(0, 10) df: org.apache.spark.sql.DataFrame = [id: bigint] scala>...                                     ^ scala> df.withColumn("bb",col("id")*0) res2: org.apache.spark.sql.DataFrame... 0| |  8|  0| |  9|  0| +---+---+ scala> res2.withColumn("cc",col("id")*0) res5: org.apache.spark.sql.DataFrame

    98510

    pyspark之dataframe操作

    、创建dataframe 3、 选择和切片筛选 4、增加删除列 5、排序 6、处理缺失值 7、分组统计 8、join操作 9、空值判断 10、离群点 11、去重 12、 生成新列 13、行的最大最小值...、创建dataframe # 从pandas dataframe创建spark dataframe colors = ['white','green','yellow','red','brown','pink...df=df.rename(columns={'a':'aa'}) # spark-方法1 # 在创建dataframe的时候重命名 data = spark.createDataFrame(data...方法 #如果a中值为空,就用b中的值填补 a[:-2].combine_first(b[2:]) #combine_first函数即对数据打补丁,用df2的数据填充df1中的缺失值 df1.combine_first...pandas,重复列会用_x,_y等后缀标识出来,但spark不会 # join会在最后的dataframe中存在重复列 final_data = employees.join(salary, employees.emp_id

    11.1K10

    【数据处理包Pandas】DataFrame对象的合并

    可选值包括: ‘left’:保留左侧 DataFrame 中的所有行,并将右侧 DataFrame 中与左侧匹配的行合并到结果中。...‘right’:保留右侧 DataFrame 中的所有行,并将左侧 DataFrame 中与右侧匹配的行合并到结果中。...如果左侧 DataFrame 中没有匹配的行,则将 NaN 填充到结果中的相应位置。 ‘inner’:保留左右两侧 DataFrame 中都存在的行,并将它们合并到结果中。...‘outer’:保留左右两侧 DataFrame 中的所有行,并将它们合并到结果中。如果某一侧 DataFrame 中没有匹配的行,则将 NaN 填充到结果中的相应位置。...on:指定要合并的列(或列的名称)。如果两个 DataFrame 中的列名相同,并且没有指定该参数,则将这些列作为合并的键。

    1K00

    【疑惑】如何从 Spark 的 DataFrame 中取出具体某一行?

    如何从 Spark 的 DataFrame 中取出具体某一行?...根据阿里专家Spark的DataFrame不是真正的DataFrame-秦续业的文章-知乎[1]的文章: DataFrame 应该有『保证顺序,行列对称』等规律 因此「Spark DataFrame 和...我们可以明确一个前提:Spark 中 DataFrame 是 RDD 的扩展,限于其分布式与弹性内存特性,我们没法直接进行类似 df.iloc(r, c) 的操作来取出其某一行。...1/3排序后select再collect collect 是将 DataFrame 转换为数组放到内存中来。但是 Spark 处理的数据一般都很大,直接转为数组,会爆内存。...{Bucketizer, QuantileDiscretizer} spark中 Bucketizer 的作用和我实现的需求差不多(尽管细节不同),我猜测其中也应该有相似逻辑。

    5.2K30

    Apache Spark中使用DataFrame的统计和数学函数

    我们在Apache Spark 1.3版本中引入了DataFrame功能, 使得Apache Spark更容易用....受到R语言和Python中数据框架的启发, Spark中的DataFrames公开了一个类似当前数据科学家已经熟悉的单节点数据工具的API. 我们知道, 统计是日常数据科学的重要组成部分....列联表是统计学中的一个强大的工具, 用于观察变量的统计显着性(或独立性). 在Spark 1.4中, 用户将能够将DataFrame的两列进行交叉以获得在这些列中观察到的不同对的计数....5.出现次数多的项目 找出每列中哪些项目频繁出现, 这对理解数据集非常有用. 在Spark 1.4中, 用户将能够使用DataFrame找到一组列的频繁项目....如果你不能等待, 你也可以自己从1.4版本分支中构建Spark: https://github.com/apache/spark/tree/branch-1.4 通过与Spark MLlib更好的集成,

    15.2K60
    领券