SparkSQL 简单测试

本文介绍了如何使用SparkSQL进行简单测试,详细步骤将在关联的配置文件文章中展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其中注册表的方法都在另一篇记配置文件的文章中所示的代码里

/**
  * Created by Draven on 2017/11/1.
  *  draven1122@163.com
  */
object CassandraSqlExample extends App {
  val ss = getSparkSession

  import ss.implicits._

  ss.read.format(CASSANDRA_FORMAT).options(cassandraOptions("qiandw_test", "loan_program"))
    .load().filter($"funding_target" > 20000000).createOrReplaceTempView("loan_program")
  ss.sql("select * from loan_program").show()
}

/**
  * 从sql语句构建
  */
object CassandraSqlTextExample extends App {
  val ss = getSparkSession

  import ss.implicits._

  ss.read.format(CASSANDRA_FORMAT)
    .options(cassandraOptions("qiandw_test", "cash_account"))
    .load()
    .filter($"balance" > 0).createOrReplaceTempView("cash_account")
  ss.sql("select * from cash_account").orderBy("balance").show()
}

/**
  * 连表查询
  */
object JoinQueryExample extends App {
  val ss = getSparkSession

  import ss.implicits._

  ss.read.format(CASSANDRA_FORMAT)
    .options(cassandraOptions("qiandw_test", "cash_account"))
    .load()
    .createOrReplaceTempView("cash_account")

  ss.read.format(CASSANDRA_FORMAT)
    .options(cassandraOptions("qiandw_test", "cash_account_detail"))
    .load()
    .createOrReplaceTempView("cash_account_detail")

  ss.sql("select * from cash_account a left join cash_account_detail b on a.acct_id = b.acct ").show(5)
}

object DifferentDataBaseJoinQueryExample extends App {
  registerCassandraTables
  registerMySqlTables
  //  ss.read.format("jdbc")
  //    .options(Map("url" -> "jdbc:mysql://localhost:3306/huangjinxin",
  //      "driver" -> "com.mysql.jdbc.Driver",
  //      "dbtable" -> "t_user",
  //      "user" -> "root",
  //      "password" -> "root")).load().createOrReplaceTempView("t_user")
  //
  //  ss.read.format(CASSANDRA_FORMAT)
  //    .options(cassandraOptions("qiandw_test", "cash_account"))
  //    .load()
  //    .createOrReplaceTempView("cash_account")

  getSparkSession.sql("select * from cash_account a right join t_user b on a.state = b.age ").show()
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值