开发者社区> 问答> 正文

E-MapReduce银行员工信息查询示例



段落1创建临时表

  1. %spark
  2. import org.apache.commons.io.IOUtils
  3. import java.net.URL
  4. import java.nio.charset.Charset
  5. // Zeppelin creates and injects sc (SparkContext) and sqlContext (HiveContext or SqlContext)
  6. // So you don't need create them manually
  7. // load bank data
  8. val bankText = sc.parallelize(
  9.     IOUtils.toString(
  10.         new URL("http://emr-sample-projects.oss-cn-hangzhou.aliyuncs.com/bank.csv"),
  11.         Charset.forName("utf8")).split("\n"))
  12. case class Bank(age: Integer, job: String, marital: String, education: String, balance: Integer)
  13. val bank = bankText.map(s => s.split(";")).filter(s => s(0) != "\"age\"").map(
  14.     s => Bank(s(0).toInt,
  15.             s(1).replaceAll("\"", ""),
  16.             s(2).replaceAll("\"", ""),
  17.             s(3).replaceAll("\"", ""),
  18.             s(5).replaceAll("\"", "").toInt
  19.         )
  20. ).toDF()
  21. bank.registerTempTable("bank")


段落2查询表结构

  1. %sql
  2. desc bank


段落3查询年龄小于30各年龄段员工人数

  1. %sql select age, count(1) value from bank where age < 30 group by age order by age


段落4 查询年龄小于等于20岁的员工信息

  1. %sql select * from bank where age <= 20

展开
收起
nicenelly 2017-10-30 15:20:58 1494 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
大数据解决方案构建详解 以阿里云E-MapReduce为例 立即下载
《E-MapReduce on ACK 全新发布,助力企业高效构建大数据平台》 立即下载
基于E-MapReduce梨视频推荐系统 立即下载