如何在pyspark中读取带有“]|[”delimi的文件

2024-05-19 05:53:08 发布

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

数据如下:

pageId]|[page]|[Position]|[sysId]|[carId 0005]|[bmw]|[south]|[AD6]|[OP4

至少有50列和数百万行。

我试着用下面的代码来阅读:

dff = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").option("inferSchema", "true").option("delimiter", "]|[").load(trainingdata+"part-00000")

它给了我以下错误:

IllegalArgumentException: u'Delimiter cannot be more than one character: ]|['


Tags: 数据代码truepagepositionoptionsouthdff
2条回答

在RDD中,分隔符可以使用多个字符

你可以试试这个代码

from pyspark import SparkConf, SparkContext
from pyspark.sql import SQLContext

conf = SparkConf().setMaster("local").setAppName("test")
sc = SparkContext(conf = conf)

input = sc.textFile("yourdata.csv").map(lambda x: x.split(']|['))

print input.collect()

可以使用toDF()函数将RDD转换为DataFrame(如果需要的话),如果需要的话,不要忘记指定模式

尝试使用转义序列

dff = (sqlContext.read
                 .format("com.databricks.spark.csv")
                 .option("delimiter", "\\]\\|\\[")
                 .load(trainingdata+"part-00000")

相关问题 更多 >

    热门问题