用spark进行数据查询常用语法总结


在工作中用spark对数据查询,所使用的常用语法进行整理归纳如下:

show:数据显示

data = spark.sql("""select * from temp.tables""")
data.show(3)

# 转成pandas方式
# df = data.toPandas()
# df.head(3)

distinct:数据行数去重

data = spark.sql("""select * from temp.tables""").distinct()
data.show(3)

#or

data = spark.sql("""select * from temp.tables""")
data  = data.distinct()
data.show(3)

count:看行数

data = spark.sql("""select * from temp.tables""")
data.count()

select:查看具体列数据

data = data.select('dt', 'order_money')
data.show(3)

toDF:对字段命名(搭配常用与groupby–agg–toDF)

data = spark.sql("""select * from temp.tables""")
df = data.group('dt').agg(fn.countDistinct('user_id'), fn.sum('order_money')).toDF('dt', 'user_uv_count', 'order_money_sum')
df.show(3)

withColumn:新增列名

df = df.withColumn('avg_money', (df.order_money_sum / df.user_uv_count).cast('decimal(14,4)'))
df.show(3)

printSchema: 打印列名信息

df.printSchema()

dropDuplicates:数据列数去重

data = spark.sql("""select * from temp.tables""")
data.dropDuplicates(['city']).show()

limit:数据看前N条

data = spark.sql("""select * from temp.tables""").limit(10)
data.show(3)

collect:所有数据收集到数组

data = spark.sql("""select * from temp.tables""")
data.collect().show(3)

head==take:查看前N行数据

data = spark.sql("""select * from temp.tables""").head(5)
data.show(3)

data = spark.sql("""select * from temp.tables""").take(5)
data.show(3)

sample:随机采样,fraction按比例采样

data = spark.sql("""select * from temp.tables""")
data = data.sample(fraction=0.5)
data.show(3)

selectExpr:选择列名字段,更改列名调整小数位

data = spark.sql("""select * from temp.tables""")
data = data.select('dt', 'order_money')
data.selectExpr('dt as date', 'coalesce(order_money, 4)')
data.show(3)

unionByName: 两两之间相同列名进行合并

data = spark.sql("""select * from temp.tables""")
data2 = spark.sql("""select * from temp.tables2""")
union_data = data.unionByName(data2)
union_data.show(6)

describe:查看数据个数、均值、标准差、最小、最大值

data = spark.sql("""select * from temp.tables""")
data.describe().show()

summary:查看数据个数、均值、标准差、最小、25%、50%、75%、最大值

比describe多个四分位数(25%、50%、75%)

data = spark.sql("""select * from temp.tables""")
data.summary().show()

相关推荐

  1. spark进行数据查询语法总结

    2024-03-10 12:44:04       48 阅读
  2. Oracle数据库查询语句

    2024-03-10 12:44:04       27 阅读
  3. spark-算子

    2024-03-10 12:44:04       48 阅读
  4. yaml工作语法总结

    2024-03-10 12:44:04       49 阅读
  5. mybatis动态SQL语法总结

    2024-03-10 12:44:04       24 阅读
  6. Oracle系统视图归纳总结对象查询语句

    2024-03-10 12:44:04       32 阅读
  7. SQL语句--模糊查询LIKE

    2024-03-10 12:44:04       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-10 12:44:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 12:44:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 12:44:04       82 阅读
  4. Python语言-面向对象

    2024-03-10 12:44:04       91 阅读

热门阅读

  1. 数据仓库的主流分层架构

    2024-03-10 12:44:04       47 阅读
  2. 基于qt实现的类的序列化和反序列化

    2024-03-10 12:44:04       48 阅读
  3. 云原生技术实践:Kubernetes集群的部署与运维

    2024-03-10 12:44:04       41 阅读
  4. pytorch CV入门4-使用MobileNet解决视觉相关问题

    2024-03-10 12:44:04       33 阅读
  5. 【pytorch可视化工具】

    2024-03-10 12:44:04       41 阅读
  6. 基于Python调用SCIP求解器的入门文档

    2024-03-10 12:44:04       51 阅读
  7. Springboot 分片上传客户端Demo

    2024-03-10 12:44:04       47 阅读
  8. AI 改变生活

    2024-03-10 12:44:04       40 阅读
  9. jenkins 迁移(centos7服务器之间)

    2024-03-10 12:44:04       40 阅读
  10. Python2.x 与 3.x 版本区别

    2024-03-10 12:44:04       43 阅读