pyspark - 使用CSV文件中的sqlCtx.load()创建数据帧

时间:2016-06-23 09:09:36

标签: python csv pyspark

在pyspark中创建数据框时出错。请告诉我如何解决它。我正在通过Coursera学习pyspark命令。

以下是我使用的命令:

PYSPARK_DRIVER_PYTHON = ipython pyspark - packages com.databricks:spark-csv_2.10:1.4.0

这似乎工作正常。

进入shell时,我尝试了:

yelp_df = sqlCtx.load(source = "com.databricks.spark.csv",
               header = 'true',
               inferSchema = 'true',
               path ='file:///usr/lib/hue/apps/search/examples/collections/solr_configs_yelp_demo/index_data.csv')

我收到以下错误:

  

Py4JJavaError Traceback(最近一次调用最后一次)

     

in()

     

3 header ='true',

     

4 inferSchema ='true',

     

----> 5 path ='file:///usr/lib/hue/apps/search/examples/collections/solr_configs_yelp_demo/index_data.csv')

     

/usr/lib/spark/python/pyspark/sql/context.py in load(self,path,source,schema,** options)

     

480 self._sc._gateway._gateway_client)

     

481如果架构为无:

     

- > 482 df = self._ssql_ctx.load(source,joptions)

     

483其他:

     

484如果不是isinstance(schema,StructType):

     调用中的/usr/lib/spark/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py(self,* args)

     

536 answer = self.gateway_client.send_command(command)

     

537 return_value = get_return_value(answer,self.gateway_client,

     

- > 538 self.target_id,self.name)

1 个答案:

答案 0 :(得分:-1)

将其加载为文本文件,根据您的分隔符进行拆分,'然后转换为dataframe。 sc是你的火花背景,

sc.textFile('file:///usr/lib/hue/apps/search/examples/collections/solr_configs_yelp_demo/index_data.csv').map(lambda row:row.split(',')).toDF