【问题标题】:How to read a csv file using pyarrow in python如何在 python 中使用 pyarrow 读取 csv 文件
【发布时间】:2019-09-24 20:27:20
【问题描述】:

我已使用以下命令连接到我的 HDFS

import pyarrow as pa
import pyarrow.parquet as pq

fs = pa.hdfs.connect(self.namenode, self.port, user=self.username, kerb_ticket = self.cert)

我正在使用以下命令来读取 parquet 文件

fs.read_parquet()

但没有读取常规文本文件(例如 csv 文件)的方法。如何使用 pyarrow 读取 csv 文件。

【问题讨论】:

    标签: pyarrow


    【解决方案1】:

    您需要创建一个类似文件的对象并直接使用 CSV 模块。见pyarrow.csv.read_csv

    【讨论】:

    • 我认为这个功能是用于从本地驱动器读取 csv 文件,但我需要从 HDFS 读取它。我应该在哪里使用 HDFS 连接(在我的情况下是 fs)
    【解决方案2】:

    您可以设置一个 spark 会话来连接到 hdfs,然后从那里读取它。

    ss = SparkSession.builder.appName(...)
    csv_file = ss.read.csv('/user/file.csv')
    

    另一种方法是先打开文件,然后使用 csv.csv_read 读取 这是我最后使用的。

    from pyarrow import csv
    file = 'hdfs://user/file.csv'
    
    with fs.open(file, 'rb') as f:
        csv_file = csv.read_csv(f) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-24
      • 2021-09-23
      • 2010-12-08
      • 1970-01-01
      • 1970-01-01
      • 2018-07-20
      • 2017-12-18
      • 1970-01-01
      相关资源
      最近更新 更多