将列表项转换为定义的数据类型RDD

2024-09-27 23:19:16 发布

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

实际上,我在cloudera的dataricks中的apachespark Python的工作区工作。其思想是读取csv并格式化每个字段。在

因此,第一步是阅读csv:

uber = sc.textFile("dbfs:/mnt/uber/201601/pec2/uber_curated.csv")

下一步是将每一行转换为值列表:

^{pr2}$

结果是:

[u'B02765', u'2015-05-08 19:05:00', u'B02764', u'262', u'Manhattan',u'Yorkville East']

但是,现在我需要将下一个值列表中的每一项转换为下一个格式String,Date,String,Integer,String,String。在

[[u'B02765', u'2015-05-08 19:05:00', u'B02764', u'262', u'Manhattan', u'Yorkville East'],
[u'B02767', u'2015-05-08 19:05:00', u'B02789', u'400', u'New York', u'Yorkville East']]

有人知道怎么做吗?在


Tags: csv列表string思想sceastclouderauber
1条回答
网友
1楼 · 发布于 2024-09-27 23:19:16

您可以使用csv阅读器。在Spark 1.x中,您需要一个外部依赖项(^{})。在

from pyspark.sql.types import *

sqlContext.read.format("csv").schema(StructType([
    StructField("_1", StringType()),
    StructField("_2", TimestampType()),
    StructField("_3", StringType()),
    StructField("_4", IntegerType()),
    StructField("_5", StringType()),
    StructField("_6", StringType()),
])).load("dbfs:/mnt/uber/201601/pec2/uber_curated.csv").rdd

或者

^{pr2}$

您可以将(_1_2.._n)替换为描述性字段名。在

相关问题 更多 >

    热门问题