2015-12-30 2 views
4

Я использую IPython в Spark/Bluemix средеpandas.read_csv в Спарк среде (IBM Bluemix)

У меня есть CSV-файл загружен в хранилище объекта, и я могу прочитать это нормально, используя sc.textfile, но я получаю, когда я file does not exist использовать pandas pd.read_csv

  1. data = sc.textFile("swift://notebooks.books/rtenews.csv")

  2. import pandas as pd data = pd.read_csv('swift://notebooks.books/rtenews.csv')

IOError File swift://notebooks.books/rtenews.csv does not exist

Почему это? Как я могу прочитать файл csv в фреймворке pandas?

+0

Pandas reader поддерживает только локальные файловые системы. Зачем тебе это нужно? – zero323

+0

Это относится к большому проекту курса аналитики данных и демонстрирует использование Spark/Bluemix и карты/сокращения. Несмотря на то, что файл запускается в локальной файловой системе - я должен обработать его в Spark/Ipython. – subiman

+0

Просто пропустите Pandas и загрузите данные непосредственно в Spark: http://stackoverflow.com/q/28782940/1560062 – zero323

ответ

2

После того, как вы загрузили файл CSV в свой Bluemix Object Storage, вы можете прочитать файл CSV, используя искру непосредственно:

data = sc.textFile("swift://notebooks.books/rtenews.csv") 

Это возможно, потому что конфигурации было сделано, чтобы включить эту функцию.

Если вы пытаетесь читать CSV-файл с помощью следующего кода с помощью pandas:

import pandas as pd 
data = pd.read_csv('swift://notebooks.books/rtenews.csv') 

Это не будет работать, потому что pandas не поддерживают прямой доступ Bluemix хранения объектов. Взгляните на документацию по API pandas.read_csv(): http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html Он поддерживает только несколько действительных схем URL.

Тем не менее, вы можете прочитать CSV-файл на вашем носителе памяти Bluemix как объект StringIO в pandas.DataFrame.

Вы можете найти инструкции в "Осаждение Анализ" образец ноутбука:

Используйте этот подход не для больших CSV-файлов!

Смежные вопросы