Как использовать pandas на блокноте spark (данные на dashDB) в python

Здравствуйте, я использую IBM Bluemix. Здесь я использую блокнот Apache Spark и загружаю данные из dashDB. Я пытаюсь обеспечить визуализацию, и она не отображает строки, а только столбцы.

def get_file_content(credentials):

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)


props = {}
props['user'] = credentials['username']
props['password'] = credentials['password']

# fill in table name
table = credentials['username'] + "." + "BATTLES"

   data_df=sqlContext.read.jdbc(credentials['jdbcurl'],table,properties=props)
data_df.printSchema()

return StringIO.StringIO(data_df)

Когда я использую эту команду:

data_df.take(5)

Я получаю информацию о первых 5 строках данных как со столбцами, так и со строками. Но когда я делаю это:

content_string = get_file_content(credentials)
BATTLES_df = pd.read_table(content_string)

Я получаю эту ошибку:

ValueError: нет столбцов для анализа из файла

И затем, когда я пытаюсь увидеть .head() или .tail(), отображаются только имена столбцов.

Кто-нибудь видит здесь возможную проблему? У меня очень плохое знание python. Пожалуйста и спасибо.


person Saraida    schedule 07.06.2016    source источник


Ответы (2)


Это решение, которое работает для меня. Я заменил BATTLES_df = pd.read_table(content_string)

с

BATTLES_df=data_df.toPandas()

Спасибо

person Saraida    schedule 08.06.2016

export PYSPARK_DRIVER_PYTHON=ipython
export PYSPARK_DRIVER_PYTHON_OPTS=notebook

И перейдите в каталог искр

cd ~/spark-1.6.1-bin-hadoop2.6/

./bin/pyspark --packages com.datastax.spark:spark-cassandra-connector_scalaversion:spark_version-M1

И вы можете написать следующий код.

import pandas as pd
person Beyhan Gul    schedule 07.06.2016