python - 将 Spark rdd 转换为 pandas 数据框

标签 python pandas apache-spark dataframe pyspark

我有一个包含 15 个字段的 rdd。为了进行一些计算,我必须将其转换为 pandas 数据帧。

我尝试使用 df.toPandas() 函数,但不起作用。我尝试提取每个 rdd 并用空格将其分隔并将其放入数据框中,但这也不起作用。

[u'2015-07-22T09:00:28.019143Z ssh 123.242.248.130:54635 10.0.6.158:80 0.000022 0.026109 0.00002 200 200 0 699 "GET https://google.coml HTTP/1.1" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36" ECDE-PAM TLSv1.2',
 u'2015-07-22T09:00:27.894580Z ssh 203.91.211.44:51402 10.0.4.150:80 0.000024 0.15334 0.000026 200 200 0 1497 "GET https://yahoo.com HTTP/1.1" "Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0" ECDL-RAT TLSv1.2']

有什么功能可以使用吗?

提前致谢!!

最佳答案

如果你有以下形式的rdd:

>>> rdd.collect()
[[u'2015-07-22T09:00:28.019143Z', u'ssh', u'123.242.248.130:54635', u'10.0.6.158:80', u'0.000022', u'0.026109', u'0.00002', u'200', u'200', u'0', u'699', u'"GET https://google.coml HTTP/1.1"', u'"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/43.0.2357.130 Safari/537.36"', u'ECDE-PAM', u'TLSv1.2'], 
 [u'2015-07-22T09:00:27.894580Z', u'ssh', u'203.91.211.44:51402', u'10.0.4.150:80', u'0.000024', u'0.15334', u'0.000026', u'200', u'200', u'0', u'1497', u'"GET https://yahoo.com HTTP/1.1"', u'"Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0"', u'ECDL-RAT', u'TLSv1.2']]

然后 rdd.toDF(['column1_name', 'column2_name', ...., 'column15_name']).toPandas() 将完成这项工作(但需要 pandas 要安装的 python 包)。

关于python - 将 Spark rdd 转换为 pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41305950/

相关文章:

apache-spark - pyspark dataframe使用组来获取多个字段计数

scala - 如何在现有的 Hadoop 2.x 中使用 spark

python - 如何使用 Pandas 在 Iris 数据集中使用 SVM 回归

python - 所有 Pandas 数据类型

python - pandas在ubuntu上安装错误代码1 in/tmp/pip-build-FM0q5o/pandas/

python - 尝试根据系列四分位数中的相应位置将 pandas df 系列的 float 转换为四个分类值之一

apache-spark - Spark Driver 内存和 Application Master 内存

javascript - 使用Vue.js和Auth0进行前端认证时如何在Django的后端数据库中创建用户

linux下直接通过命令行执行python

python - 如何对齐两个数字列表