如何在python中使用pyarrow读取csv文件

时间:2019-09-24 20:27:20

标签: pyarrow

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

<span>select 1</span>
<select class="form-control show_data1" id="tip_rola1" name="tip_rola1">
   <option selected=""> Select</option>
   <option value="8"> 70</option>
   <option value="9"> 76</option>
   <option value="10"> 80</option>
   <option value="11"> 84</option>
   <option value="12"> 35</option>
   <option value="13"> 38</option>
   <option value="14"> 40</option>
   <option value="15"> 42</option>
</select>
<span>select 2</span>
<select class="form-control show_data2" id="tip_rola2" name="tip_rola2">
   <option selected=""> Select</option>
   <option value="8"> 70</option>
   <option value="9"> 76</option>
   <option value="10"> 80</option>
   <option value="11"> 84</option>
   <option value="12"> 35</option>
   <option value="13"> 38</option>
   <option value="14"> 40</option>
   <option value="15"> 42</option>
</select>

我正在使用以下命令来读取实木复合地板文件

import pyarrow as pa
import pyarrow.parquet as pq

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您可以设置一个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)