Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 将csv读入spark sql数据帧时删除列的公共字符串_Apache Spark_Spark Dataframe_Trim - Fatal编程技术网

Apache spark 将csv读入spark sql数据帧时删除列的公共字符串

Apache spark 将csv读入spark sql数据帧时删除列的公共字符串,apache-spark,spark-dataframe,trim,Apache Spark,Spark Dataframe,Trim,我使用DataRicks spark csv模块将csv文件作为sqlContext读取。我定制了我的模式,如下例所示。然而,我注意到在我的数据中,第三列是汽车的模型,其中的字符串前面总是有一个公共字符串“model:”。有没有一种方法可以修剪出常见的字符串 from pyspark.sql import SQLContext from pyspark.sql.types import * sqlContext = SQLContext(sc) customSchema = StructTyp

我使用DataRicks spark csv模块将csv文件作为sqlContext读取。我定制了我的模式,如下例所示。然而,我注意到在我的数据中,第三列是汽车的模型,其中的字符串前面总是有一个公共字符串“model:”。有没有一种方法可以修剪出常见的字符串

from pyspark.sql import SQLContext
from pyspark.sql.types import *

sqlContext = SQLContext(sc)
customSchema = StructType([ \
    StructField("year", IntegerType(), True), \
    StructField("make", StringType(), True), \
    StructField("model", StringType(), True), \
    StructField("comment", StringType(), True), \
    StructField("blank", StringType(), True)])

df = sqlContext.read \
    .format('com.databricks.spark.csv') \
    .options(header='true') \
    .load('cars.csv', schema = customSchema)
您可以使用:

从pyspark.sql导入函数为F
[...]
df=df.withColumn('model',F.regexp_replace(df.model,r'^model:','')
您可以使用:

从pyspark.sql导入函数为F
[...]
df=df.withColumn('model',F.regexp_replace(df.model,r'^model:','')

您能否至少提供一份您试图阅读的CSV样本?您能否至少提供一份您试图阅读的CSV样本?