能够在本地提取DF的正确数据类型,但如果我在GCP Dataproc(源输入文件)中尝试了相同的方法,则会面临问题

2024-04-19 15:30:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我能够提取DF的数据类型(从CSV文件创建的DF)。你知道吗

当我在dataproc中尝试同样的方法时,得到的所有数据类型都是“string”。 我能在这里得到帮助吗:

在本地机器上为我工作的代码。你知道吗

df = spark.read.option("header","true").option("inferSchema","true").csv("Path")

colList=df.columns

d=df.dtypes
print(d)

b=[]
for x in d:
    b.append(x[1])
print(b)

df1=sc.parallelize([b]).toDF(colList)
c=df1.show()
print(c)

所需输出和预期输出相同

UNIFICATION_ID|EMPLID|ACAD_CAREER|STDNT_CAR_NBR|ADM_APPL_NBR|
+--------------+------+-----------+-------------+------------+
|        string|string|     string|          int|         int|     
+--------------+------+-----------+-------------+------------+

如果我在googledataproc中运行相同的代码,那么我得到的输出是。你知道吗

UNIFICATION_ID|EMPLID|ACAD_CAREER|STDNT_CAR_NBR|ADM_APPL_NBR|
+--------------+------+-----------+-------------+------------+
|        string|string|     string|     string  |    string  |     
+--------------+------+-----------+-------------+------------+

Tags: 代码idtruedfstringoption数据类型df1
1条回答
网友
1楼 · 发布于 2024-04-19 15:30:08

我一直在试图复制你的问题,问题可能是驻留在CSV格式。你知道吗

我试图用下一个CSV示例重现这个问题,我可以在cloudshell和Dataproc中找到不同类型的Sample insurance portfolio,您的代码看起来很好。你知道吗

我将通过Dataproc运行作业的结果附加到这里:

All types seems to be fine when running your code as a job within Dataproc as a PySpark job

尽管如此,我还是建议您看看它上传到云存储桶中的CSV格式。你知道吗

此外,您还可以尝试使用我提供的CSV示例运行作业,以查看它是否与Dataproc或CSV格式有关。你知道吗

我希望这有帮助。你知道吗

相关问题 更多 >