Databricks是否有原生方法交互式展示基础R语言数据框?
在Databricks中原生展示基础R数据框的方法
问题背景
在Databricks平台中,通过Python、SQL、SparkR或PySpark创建的数据框,均可使用display(df)函数实现美观的交互式展示。但基础R语言创建的数据框无法使用该函数,尝试View函数也无法展示,仅能通过head或tail查看。
可复现示例
Python 示例(支持display交互式展示)
%python import pandas as pd import numpy as np df = pd.DataFrame(np.array([[1,2,3],[4,5,6],[7,8,9]]), columns = ['a', 'b', 'c']) display(df)
R 示例(仅能通过head查看)
%r df <- data.frame(a = c(1,4,7), b = c(2,5,7), c = c(3,6,9)) head(df)
展示效果对比
- Python 使用
display的交互式展示效果:
- R 数据框使用
head的展示效果:
原生解决方案:转换为Spark DataFrame后使用display
Databricks原生支持将基础R数据框转换为Spark DataFrame,转换后即可使用display实现交互式展示,具体步骤如下:
- 加载SparkR库
- 将基础R数据框转换为Spark DataFrame
- 调用
display函数
示例代码:
%r # 加载SparkR库 library(SparkR) # 创建基础R数据框 df <- data.frame(a = c(1,4,7), b = c(2,5,7), c = c(3,6,9)) # 转换为Spark DataFrame spark_df <- createDataFrame(df) # 调用display实现交互式展示 display(spark_df)
你也可以直接用SparkR创建数据框,天生支持display函数:
%r library(SparkR) # 直接创建Spark DataFrame spark_df <- createDataFrame(data.frame(a = c(1,4,7), b = c(2,5,7), c = c(3,6,9))) display(spark_df)
转换后的Spark DataFrame完全保留display的所有交互功能,包括排序、过滤、导出数据等,且对大型数据框也能很好适配。
内容的提问来源于stack exchange,提问作者Rcheologist
相关产品推荐
相关产品推荐

