如何在 python 中在 spark notebook 上使用 pandas(dashDB 上的数据)
Posted
技术标签:
【中文标题】如何在 python 中在 spark notebook 上使用 pandas(dashDB 上的数据)【英文标题】:How to use pandas on spark notebook (data on dashDB) in python 【发布时间】:2016-06-07 20:44:14 【问题描述】:您好,我正在使用 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知之甚少。谢谢,麻烦您了。
【问题讨论】:
【参考方案1】:这是适合我的解决方案。
我换了
BATTLES_df = pd.read_table(content_string)
与
BATTLES_df=data_df.toPandas()
谢谢
【讨论】:
【参考方案2】:export PYSPARK_DRIVER_PYTHON=ipython
export PYSPARK_DRIVER_PYTHON_OPTS=notebook
然后转到您的 spark 目录
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
【讨论】:
以上是关于如何在 python 中在 spark notebook 上使用 pandas(dashDB 上的数据)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上的 Python 中在后台播放音乐?
如何在不同文件夹中组织的多个模块的项目中在 python 中进行导入?
如何在 Spark 中使用 Python 查找 DataFrame 中的分区数以及如何在 Spark 中使用 Python 在 DataFrame 中创建分区