Advertisement

Pyspark 读取本地CSV文件并将parquet格式的数据插入至Hive表中

阅读量:

在CDSW平台上执行模型运行并获得结果后会生成一个CSV格式的文件。基于报表的要求需要将该CSV文件整合到Parquet格式的表格中以实现数据的一致性和完整性需求

在其中遇到了很多坑,在此记下来,希望能帮助到遇到同样问题的人。


1、初始化配置创建Spark Session。

(注意事项:从Spark2.0版本起开始将sqlContext和hiveContext统一整合为SparkSession)

2、读取文件并转换为Spark DataFrame格式。

通过_spark.read._csv_函数可以直接将CSV文件转换为Spark DataFrame格式。然而,在CDSW环境中使用的PySpark会直接连接到Hive表而不是本地存储环境。因此,在本地环境中处理时,应先使用_pandas的read_csv方法读取CSV文件至pandas DataFrame格式,并随后将其转换为spark.dataframe类型。

3、将转换后的DF注册为一张临时表。具体语法如下:

复制代码
    data.createTempView("tableTemp")

(坑2:临时视图无法显示该数据集的信息。所创建的临时表会记录查询结果,并且通过df.show()等方法无法获取到这些数据的具体内容等其他相关参数。)

**4、通过Spark

全部评论 (0)

还没有任何评论哟~