PySpark 查询数据库信息

前言

最近学的东西有些杂乱无章,用到什么就要学习什么,简单记录一下所学的东西,方便后面的巩固学习。
pyspark简单查询数据库的一些信息

程序

  • 导入环境设置
from pyspark.sql import SparkSession, Row
from pyspark import SQLContext
from pyspark.sql.functions import udf, col, explode, collect_set, get_json_object, concat_ws,  split
from pyspark.sql.types import StringType, IntegerType, StructType, StructField, ArrayType, MapType

# from offline_verification_func import *
spark = SparkSession \
        .builder.master("local[50]") \
        .config("spark.executor.memory", "10g")\
        .config("spark.driver.memory", "20g")\
        .config("spark.driver.maxResultSize","4g")\
        .appName("test") \
        .enableHiveSupport() \
        .getOrCreate()
  • 查询信息1
spark.sql(""" 
select id, name, age
from students
where  age > 14
order by age
""").show()
  • 将查询信息转为Pandas格式
df = spark.sql(""" 
select id, name, age
from students
where  age > 14
order by age
""")
# df.repartition(1).write.mode("overwrite").format('csv').save("dfr.csv")


df.toPanads().to_csv("df.csv")

总结

  • spark.sql()中用到的是select from where group by having order by limit 等通用的查询和筛选的条件,这个是通用的。
  • pyspark 查询到的信息可以保存,格式是DataFrame和 python DataFrame 是不一样的。这个要区别一下
  • 两种对应不同的保存方式。
上一篇:celery 停止执行中 task


下一篇:windows下安装pyspark及pycharm配置最完整详细教程