| val conf = new SparkConf().setAppName("action").setMaster("local[*]") |
| val session = SparkSession.builder().config(conf).getOrCreate() |
| |
| val seq: Seq[(String, Int)] = Array( |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 21), |
| ("zs123456789123456789123", 22), |
| ("zs123456789123456789123", 23), |
| ("zs123456789123456789123", 24), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 21), |
| ("zs123456789123456789123", 22), |
| ("zs123456789123456789123", 23), |
| ("zs123456789123456789123", 24), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 29), |
| ("zs123456789123456789123", 30), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 20), |
| ("zs123456789123456789123", 29), |
| ("zs123456789123456789123", 30) |
| ) |
| import session.implicits._ |
| val frame: DataFrame = seq.toDF("namea", "ageb") |
1. printSchema
| def printSchemaOpt(frame: DataFrame): Unit = { |
| println("-----------printschema操作开始-----------") |
| frame.printSchema() |
| println("-----------printschema操作结束-----------") |
| } |
| 结果: |
| -----------printschema操作开始----------- |
| root |
| |-- namea: string (nullable = true) |
| |-- ageb: integer (nullable = false) |
| |
| -----------printschema操作结束----------- |
2. show
| show():显示所有数据,最多显示20个字符,默认为true |
| show(n) :显示前n条数据,最多显示20个字符,默认为true |
| show(true): 最多显示20个字符,默认为true |
| show(false): 去除最多显示20个字符的限制 |
| show(n, true):显示前n条并最多显示20个字符 |
| |
| def showOpt(frame: DataFrame) = { |
| println("-----------show1操作开始-----------") |
| frame.show() |
| println("-----------show1操作结束-----------") |
| println("-----------show2操作开始-----------") |
| frame.show(3) |
| println("-----------show2操作结束-----------") |
| println("-----------show3操作开始-----------") |
| frame.show(30, true) |
| println("-----------show3操作结束-----------") |
| } |
| |
| + |
| | namea|ageb| |
| + |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 21| |
| |zs123456789123456...| 22| |
| |zs123456789123456...| 23| |
| |zs123456789123456...| 24| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 21| |
| |zs123456789123456...| 22| |
| |zs123456789123456...| 23| |
| |zs123456789123456...| 24| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| + |
| only showing top 20 rows |
| |
| |
| + |
| | namea|ageb| |
| + |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 21| |
| |zs123456789123456...| 22| |
| + |
| only showing top 3 rows |
| |
| |
| |
| + |
| | namea|ageb| |
| + |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 21| |
| |zs123456789123456...| 22| |
| |zs123456789123456...| 23| |
| |zs123456789123456...| 24| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 21| |
| |zs123456789123456...| 22| |
| |zs123456789123456...| 23| |
| |zs123456789123456...| 24| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 29| |
| |zs123456789123456...| 30| |
| |zs123456789123456...| 20| |
| |zs123456789123456...| 20| |
| + |
| only showing top 30 rows |
| |
| |
3. first/head/take/takeAsList
| def getDataOpt(frame: DataFrame): Unit = { |
| println("-----------first操作开始-----------") |
| val row: Row = frame.first() |
| println(row.getAs[Int](1)) |
| println("-----------first操作结束-----------") |
| println("-----------head操作开始-----------") |
| val array: Array[Row] = frame.head(3) |
| println(array.mkString("=")) |
| println("-----------head操作结束-----------") |
| println("-----------take操作开始-----------") |
| val arr: Array[Row] = frame.take(3) |
| println(arr.mkString("=")) |
| println("-----------take操作结束-----------") |
| println("-----------takeAsList操作开始-----------") |
| val list: util.List[Row] = frame.takeAsList(3) |
| println(list) |
| println("-----------takeAsList操作结束-----------") |
| } |
| |
| 20 |
| |
| |
| [zs123456789123456789123,20]=[zs123456789123456789123,21]=[zs123456789123456789123,22] |
| |
| |
| [zs123456789123456789123,20]=[zs123456789123456789123,21]=[zs123456789123456789123,22] |
| |
| |
| [[zs123456789123456789123,20], [zs123456789123456789123,21], [zs123456789123456789123,22]] |
| |
4. collect/collectAsList:慎用:获取DataFrame中的所有数据,将DataFrame在不同分区的数据拉取到同一个节点上,容易导致内存溢出
| def collectOpt(frame: DataFrame): Unit = { |
| println("-----------collect操作结束-----------") |
| val array: Array[Row] = frame.collect() |
| println(array.mkString("=")) |
| println("-----------collect操作结束-----------") |
| println("-----------collectAsList操作开始-----------") |
| val array1 = frame.collectAsList() |
| println(array1) |
| println("-----------collectAsList操作结束-----------") |
| } |
| |
| [zs123456789123456789123,20]=[zs123456789123456789123,21]=[zs123456789123456789123,22]=[zs123456789123456789123,23]=[zs123456789123456789123,24]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,21]=[zs123456789123456789123,22]=[zs123456789123456789123,23]=[zs123456789123456789123,24]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,29]=[zs123456789123456789123,30]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,20]=[zs123456789123456789123,29]=[zs123456789123456789123,30] |
| |
| |
| [[zs123456789123456789123,20], [zs123456789123456789123,21], [zs123456789123456789123,22], [zs123456789123456789123,23], [zs123456789123456789123,24], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,21], [zs123456789123456789123,22], [zs123456789123456789123,23], [zs123456789123456789123,24], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,29], [zs123456789123456789123,30], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,20], [zs123456789123456789123,29], [zs123456789123456789123,30]] |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?