spark业务开发-列选择

spark业务开发-列选择

输入数据
"id","name","description","weight"
"102","car battery","12V car battery","8.1"
"103","12-pack drill bits","12-pack of drill bits with sizes ranging from #40 to #3","0.8"
"104","hammer","12oz carpenter's hammer","0.75"
"105","hammer","14oz carpenter's hammer","0.875"
"106","hammer","16oz carpenter's hammer","1"
"107","rocks","box of assorted rocks","5.3"
"108","jacket","water resistent black wind breaker","0.1"
"109","spare tire","24 inch spare tire","22.2"
"101","scooter","Small 2-wheel scooter","3.14"
"102","scooter1","Small 2-wheel scooter1","3.14"
输出数据
+---+------+
| id|weight|
+---+------+
|102|   8.1|
|103|   0.8|
|104|  0.75|
|105| 0.875|
|106|   1.0|
|107|   5.3|
|108|   0.1|
|109|  22.2|
|101|  3.14|
|102|  3.14|
+---+------+
程序代码
package com.cch.bigdata.spark.process.cols

import com.cch.bigdata.spark.process.AbstractTransform
import org.apache.spark.sql.DataFrame
import org.apache.spark.sql.functions.col


class ColumnChooser extends AbstractTransform{

  //需要要输出的列
  private val columns = Array[String]("id","weight")


  override def process(): Unit = {
    if(columns.isEmpty){
      throw new RuntimeException("列未选择!")
    }

    val df: DataFrame = loadCsv("src/main/resources/csv/products.csv",spark)

    //获取指定列
    df.select(columns.map(name => col(name)): _*).show()

  }

  override def getAppName(): String = "列选择"
}

object ColumnChooser{
  def main(args: Array[String]): Unit = {
    new ColumnChooser().process()
  }
}

参数解释
  • columns:需要展示的列,字符串数组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值