1

我想使用 cpython 从 DataTap 读取数据。

在火花中,我可以做类似的事情:

df = spark.read.csv("dtap://MaprClus2/tmp/airline-safety.csv")

如果我使用 cpython,例如当我没有 pyspark Jupyter 内核时,我该如何做同样的事情?

4

1 回答 1

0

一种选择是使用子进程调用hadoopcli 命令:

from subprocess import check_output
import pandas as pd
from io import BytesIO

def hdfs_read(fpath):
    out = check_output(['hadoop', 'fs', '-cat', fpath])
    return BytesIO(out) 

data = hdfs_read("dtap://MaprClus2/tmp/airline-safety.csv")

# row 1 contains hadoop cli warning so remove it
pd.read_csv(data, sep=",", skiprows=1) 
于 2020-10-14T19:58:34.090 回答