如何从任何数据库表创建 PySpark RDD?

Posted

技术标签:

【中文标题】如何从任何数据库表创建 PySpark RDD?【英文标题】:How to create PySpark RDD from any database table? 【发布时间】:2018-02-10 07:52:16 【问题描述】:

由于我是 Spark 社区的新手,任何人都可以解释如何从数据库表创建 PySpark RDD。我可以使用 SparkContext 方法的 textFile() 方法从 CSV 文件创建 PySpark RDD。但我不知道从数据库表创建 PySpark RDD。

【问题讨论】:

加载表格会输出一个数据框。请参阅Dataframe to RDD conversion的示例和示例 【参考方案1】:

使用 pyspark,

df = sqlContext.read.table("your_database.your_hive_table")

df(数据帧)现在将拥有您可以使用 Spark API 使用的行。例如

df.select("*").show()  //equivalent to select * from your_hive_table

>>> df = sqlContext.read.table("students")
>>> df.select("*").show()
+----+---------+---+
|   a|        b|  c|
+----+---------+---+
| Jon|  English| 80|
| Amy|Geography| 70|
|Matt|  English| 90|
| Jon|     Math|100|
| Jon|  History| 60|
| Amy|   French| 90|
+----+---------+---+

【讨论】:

感谢您的回复..现在我可以使用 df (dataframe) 创建 RDD 数据结构,如果我想要它在 RDD 结构中。对吗? df.rdd 将为您提供rdd 的数据框。检查文档。

以上是关于如何从任何数据库表创建 PySpark RDD?的主要内容,如果未能解决你的问题,请参考以下文章

PySpark:从数据框列表创建 RDD

如何从 PySpark rdd.mapPartitions 运行内存密集型 shell 脚本

如何删除元素如何根据另一个rdd从一个rdd中删除元素并在pyspark中创建新的rdd?

在 pyspark 中使用 RDD 从字典创建数据框

Pyspark:从列表的 RDD 创建一个火花数据框,其中列表的某些元素是对象

如何从 Pyspark 中的 RDD 中过滤