首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >能够在Local中提取合适的DF数据类型,但如果我在GCP Dataproc (源输入文件)中尝试相同的方法,则会遇到此问题

能够在Local中提取合适的DF数据类型,但如果我在GCP Dataproc (源输入文件)中尝试相同的方法,则会遇到此问题
EN

Stack Overflow用户
提问于 2019-12-13 18:09:17
回答 1查看 53关注 0票数 0

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

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

在本地机器上为我工作的代码。

代码语言:javascript
复制
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)

所需输出和预期输出相同

代码语言:javascript
复制
UNIFICATION_ID|EMPLID|ACAD_CAREER|STDNT_CAR_NBR|ADM_APPL_NBR|
+--------------+------+-----------+-------------+------------+
|        string|string|     string|          int|         int|     
+--------------+------+-----------+-------------+------------+

如果我在Google Dataproc中运行相同的代码,我会得到输出。

代码语言:javascript
复制
UNIFICATION_ID|EMPLID|ACAD_CAREER|STDNT_CAR_NBR|ADM_APPL_NBR|
+--------------+------+-----------+-------------+------------+
|        string|string|     string|     string  |    string  |     
+--------------+------+-----------+-------------+------------+
EN

回答 1

Stack Overflow用户

发布于 2019-12-23 17:43:48

我一直在尝试重现您的问题,问题可能出在CSV格式中。

我尝试在下一个CSV示例中重现这个问题,我可以在Cloud Shell和Dataproc中找到不同类型的Sample insurance portfolio,并且您的代码似乎没有问题。

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

尽管如此,我还是建议您查看一下上传到您的云存储Bucket中的CSV格式。

您还可以尝试使用我提供的CSV示例运行作业,以查看它是否真的是Dataproc或您的CSV格式的问题。

我希望这能帮到你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59320268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档