pyspark-sql

发布时间 2023-10-10 11:22:57作者: whiteY

使用spark-sql操作文件进行sql查询

示例代码如下

if __name__ == '__main__':
#SparkSession用于SparkSQL编程作为入口对象
#用于SparkCore编程,可以通过SparkSession对象中获取到SparkContext
#也可以直接进入pyspark客户端省略该步骤./pyspark --master local[*],会自动创建sc

    spark = SparkSession.builder.\
        appName("test").\
        config("spark.sql.shuffle.partitions", 100).\
        getOrCreate()
    sc = spark.sparkContext
#读取文件并指定特定分隔符输出数据
    rdd = sc.textFile("/data/work/yqf/pyspark.csv").\
        map(lambda x: x.split(",")).\
        map(lambda x: (x[0],x[1],x[2])))
#rdd转df指定schema
    df = spark.createDataFrame(rdd, schema=['name', 'age','sex'])
#创建临时表
    df.createOrReplaceTempView("people")
#使用sql查询临时表数据
    spark.sql("SELECT * FROM people WHERE age < 30").show()