2016-06-07 58 views
1

您好,我正在使用IBM Bluemix。 在这里,我使用的是Apache Spark笔记本,并从dashDB加载数据。我试图提供一个可视化,它不显示行,只是列。如何在Python中使用熊猫火花笔记本(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: No columns to parse from file

,然后当我尝试看看.head().tail()仅显示列名。

有没有人在这里看到可能的问题?我对python的知识很差。谢谢,麻烦您了。

回答

0
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 
1

这是适合我的解决方案。 我换成 BATTLES_df = pd.read_table(content_string)

BATTLES_df=data_df.toPandas()

谢谢