python下将.csv文件转化为parquet文件,并查看

1 pyspark

你需要一个pyspark的包,但是网上下载的一般都是国外路径!下载的超级超级慢!我在这放一个2.4.4版本的!不想下可以在这里拿。
下载地址:

https://files.pythonhosted.org/packages/87/21/f05c186f4ddb01d15d0ddc36ef4b7e3cedbeb6412274a41f26b55a650ee5/pyspark-2.4.4.tar.gz
链接: https://pan.baidu.com/s/1T7A3OUWVVKwpHOAKI3C8ZA 提取码: cixw

2代码

from pyspark import SparkContext
from pyspark.sql import SQLContext
from pyspark.sql.types import *

if __name__ == "__main__":
    sc = SparkContext(appName="CSV2Parquet")
    sqlContext = SQLContext(sc)
    # csv中的目录结构 
    schema = StructType([
        StructField("id", StringType(), True),
        StructField("time", StringType(), True),
        StructField("bigSpender", StringType(), True),
        StructField("middleSpender", StringType(), True),
        StructField("middleSmallSpender", StringType(), True),
        StructField("smallSpender", StringType(), True)])
    rdd = sc.textFile("D://aa.csv").map(parse)
    df = sqlContext.createDataFrame(rdd, schema)
    df.write.parquet('D://python/lxDemo/inputm-parquet')

3测试

如果直接运行的话,我猜应该会报错!
在这里插入图片描述
如果是这个问题的话,就可以在配置一个参数在进行测试!
在这里插入图片描述
这个是你spark的环境地址,如果没有的话!就下载一个,配置一下。

PYTHONPATH=D:\python\spark-3.0.1-bin-hadoop2.7\python

问题解决之后再次运行就可以看到知道文件地址下出现了一个inputm-parquet文件
在这里插入图片描述

4查看

虽然添加成功了,但是parquet文件的我们看不到存储的数据!
可以通过以下方法查看!
方法一:

# 差看parquet 文件信息
parquetFile = r"D:\python\lxDemo\inputs-parquet"
df = spark.read.parquet(parquetFile)

inputd = r"D:\python\lxDemo\inputm-parquet"
dd = spark.read.parquet(inputd)
dd.show(300)

方法二

parquetFile = spark.read.parquet("D:\python\lxDemo\inputm-parquet")
parquetFile.createOrReplaceTempView("parquetFile")
users = spark.sql("select * from parquetFile  where unix_timestamp(time ,'yyyy-MM-dd HH:mm:ss') > unix_timestamp('2020-09-16 12:00:00','yyyy-MM-dd HH:mm:ss')")

# 查看条件下有多少条数据
print(users.count())
# 显示前300天  (默认前20条)
users.show(300)

DataFrame格式数据有一些方法可以使用,例如:

1.df.first() :显示第一条数据,Row格式

print(df.first())
解析Pyspark如何读取parquet数据解析Pyspark如何读取parquet数据

2.df.columns:列名

3.df.count():数据量,数据条数

4.df.toPandas():从spark的DataFrame格式数据转到Pandas数据结构

5.df.show():直接显示表数据;其中df.show(n) 表示只显示前n行信息

6.type(df):显数据示格式

解析Pyspark如何读取parquet数据解析Pyspark如何读取parquet数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值