SparkSql之电影案例SQL编写

需求1:查找电影评分个数超过50,且平均评分较高的前十部电影名称及其对应的平均评分,结果以下面字段结构输出,保存成任意文本格式(txt\csv)或者存储到数据库。

 // 需求1:查找电影评分个数超过50,且平均评分较高的前十部电影名称及其对应的平均评分,
    val sql1 =
    """
      |select
      |   r.movieId movie_id, count(r.movieId) rating_num, first(m.title) title, avg(r.rating) as rating_avg,from_unixtime(first(r.timestamp), 'yyyy-MM-dd HH:mm:ss') update_time
      |from
      |   ratings r left join movies m
      |where
      |   r.movieId=m.movieId
      |group by
      |   r.movieId having rating_num > 50 sort by rating_avg desc limit 10
      |""".stripMargin

需求2:查找每个电影类别及其对应的平均评分,结果以下面字段结构输出,保存成任意文本格式(txt\csv)或者存储到数据库。

val sql2 =
      """
        |select
        |   first(m.genres) genre, avg(r.rating) rating_avg,from_unixtime(first(r.timestamp), 'yyyy-MM-dd HH:mm:ss') update_time
        |from
        |   ratings r left join movies m
        |where
        |   r.movieId=m.movieId
        |group by r.movieId
        |""".stripMargin

需求3:查找被评分次数较多的前十部电影,结果以下面字段结构输出,保存成任意文本格式(txt\csv)或者存储到数据库。

 val sql3 =
      """
        |select
        |   r.movieId movie_id, first(m.title) title, count(r.userId) rating_num, from_unixtime(first(r.timestamp), 'yyyy-MM-dd HH:mm:ss') update_time
        |from
        |   ratings r left join movies m
        |where
        |   r.movieId=m.movieId
        |group by r.movieId sort by rating_num desc limit 10
        |""".stripMargin

运行环境准备

  def main(args: Array[String]): Unit = {
    val conf: SparkConf = new SparkConf().setAppName("exercise2").setMaster("local[*]")
    val spark: SparkSession = SparkSession.builder().config(conf).getOrCreate()
    val dfRating: DataFrame = spark.read.option("header", true).csv("exercise2/ratings.csv")  // 自己数据的路径
    val dfMovie: DataFrame = spark.read.option("header", true).csv("exercise2/movies.csv") // 自己数据的路径
    dfRating.createOrReplaceTempView("ratings")
    dfMovie.createOrReplaceTempView("movies")
  }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
已解决的问题:(2003/12/04) 1、不用EMAIL注册时,注册后会员密码为空 2、不能直接在后台修改管理员帐号及密码 3、可以在线播放WMV的电影了(之前只能播放RM格式的) 不好意思,由于本人的时间有限,所以不能很全面地进行测试,如果大家在使用 中发现有什么BUG的话,欢迎发EMAIL给我,我会及时修正的,谢谢!:) ********************************** 新增功能:(2003/11/30) 1、免费支持在线支付功能(详细安装说明请看相关目录里的说明文件) 2、增加投票功能(使用说明请看下面安装说明) ********************************** 新增功能:(2003/11/29) 一、关于后台订单程序的完善: 1、成交确认后的订单仍然保留,不会消失,这样可以方便查看历史交易 2、可以查看成交确认与未确认的订单 3、可以按**期查询或者删除订单(包括成交查询、未成交查询) 4、显示所购买的会员等级及金钱 5、自动统计当前页面订单的总金额(如果按**期查询一个月的话,此功能就可以 方便显示当月所得的交易金额了) 6、只要提交了订单后,将不能再进行第二次提交,可以防止一人恶意提交多个订单 7、当会员的期限到后,即自动可以再次提交订单 8、如果提交的订单被删除了(如提交后一直没汇款过来,就要删除此订单了),那 此会员也自动可以再次提交订单 9、自动处理订单交易,即只要收到汇款,在后台按下“确认”,即可以给此会员增 加订单里相应的会员等级与会员期限,不必再次手动为会员增加 10、将用户查询功能改为“模糊”查询,以方便管理员使用 11、完善了提交订单后的提示页面与信息,更方便会员了解自己订单的情况(要更改 相关信息,请修改buyserver.asp文件) 二、其他方面的功能及改进: 1、增加了注册时以EMAIL自动发送密码的功能,防止一人注册多个帐号(修改方法见上面安装说明) 2、修正了后台管理里的EMAIL通知与回复会员的功能(修改方法见上面安装说明) 3、首页公告显示改为自动滚屏,可以显示更多的公告 4、后台管理里加上了“电影评论”修改的连接,并加上了查看只有评论的电影 5、在电影介绍页面里加上了“电影评论”查看及发表的连接 6、会员管理里增加了以EMAIL查询会员和显示未登录会员的功能 7、在首页增加了动网论坛登录口 8、首页新片推荐改为了翻页式,可以显示更多新推荐电影 9、在会员资料管理里,增加了直接修改会员所得佣金功能,管理员可自行修改某会员的佣金 10、在会员资料管理里,增加了显示会员登录时的IP 11、改善了会员继费功能,可让会员有更多的选择 12、后台电影管理里,增加了“模糊”查询电影功能,方便管理员查找某一部电影进行修改 13、后台增加了可添加在线观看电影服务器功能,此功能非常方便,可以做到只添加 一个地址就同时实现下载与在线观看的功能哦! ********************************************************************* 安装使用说明: 1、在MSSQL里建立一个数据库数据库名自己起吧 2、将imovie.sql文件用MSSQL查询器运行到你刚建立的数据库里 3、导入imovie.mdb文件 4、修改articleconn.asp 和 user/conn.asp 文件里的数据库连接参 5、将所有文件上传至你的**上,然后运行default.asp即可! 6、后台登录地址:你的**/login.asp 登录名和密码均是:admin 7、在进入后台管理前请修改oklu.asp文件,改为你网站的地址,否则一些后台功能将不能使用 9、要使用邮件发送功能请修改sendmail.asp文件,修改的地方有: __________________________________________________________ 找到以下代码,改相应的参即可:(此功能需服务器支持:JMAIL系统) smtpserver ="邮局服务器地址(IP)" smtpuser ="你的EMAIL登录帐号(如:webmaster@i-movie.cn)" smtppwd ="你的EMAIL登录密码" __________________________________________________________ 10、关于会员注册时使用邮件发密码的修改: ___________________________________________________________ 修改user/joinserver.asp文件 (1)修改你网站的欢迎信息方法,找到以下代码进行修改: ---------------------------------------------------------- mailb0="恭喜您 " mailb00=" 成为我们的会员,以下是您的密码:<br><br>" mailb1="您的密码是:" mailb2="<br><br>建议尽快登录并自行更改此密码!" mailb3="<br><br>爱视网:http://www.i-movie.cn" mailb4="<br><br>爱视论坛:http://bbs.i-movie.cn" ---------------------------------------------------------- (2)修改邮件发送服务器,找到以下代码进行修改:(此功能需服务器支持:JMAIL系统) ---------------------------------------------------------- frommail ="webmaster@i-movie.cn"      --改为你的EMAIL地址 tomail = email (这句不要改) mailsubject ="爱视网:恭喜您注册成功!"  --改为你的邮件主题 mailbody = mailb0 request("userid") mailb00 mailb1 radpass mailb2 mailb3 mailb4(这句不要改) smtpserver ="邮局IP"     --改为你邮局服务器的IP smtpuser ="webmaster@i-movie.cn" --改为你的EMAIL帐号 smtppwd ="123456" --改为你EMAIL的登录密码 ---------------------------------------------------------- 7、要改首页的LOGO,请修改home.asp文件 8、如果有会员在会员期没到时又想升级另下订单的话,请直接修改会员个人资料里的“付款状态”   将里面的字清空即可再次提交订单了,这里的字说明如下:  付款状态=" "(空)  即未提交订单  付款状态=0   提交了订单,但未得到确认(不能再提交了)  付款状态=1       提交了订单,并已得到确认(不能再提交了) 9、考虑到有些朋友的**可能不支持邮件发送功能,因此同时提供了不用EMAIL注册的文件,只要将   《不用EMAIL注册》目录里的2个文件复盖掉USER目录里的即可! 10、投票系统的使用: (1)登录vote/admin.asp进行新的投票设置(管理帐号密码均是:admin) (2)建立新投票后,会得到一段代码,将此代码COPY到default.asp文件里 (3)修改default.asp文件的方法: --------------------------------------------------------------- 找到以下代码: <object type="text/x-scriptlet" width="145" height="200" data="/vote/SHOWVOTE.ASP"></object> 将以上代码改为你在新建投票时所得到的代码即可
1, 数据库采用SQL2000,HTML设计;  2,会员等级制度,其中会员类型更细,点卡,包月用户具全;  3,用户操作多样化,包括,看,下载,留言,冲值,在线购买,互相留言,聊天,日志表,定单列表等等;  4,采用三重防盗联技术,服务器防,人工防,程序防;  5,HTML页面生成,优化速度;  6,完善用户代理制度,留言制度;(与程序分开,单独购买)  7,界面美观大方,适合主流电影网站;  8, 限制在线人,最大人,在线观看人,某一部影片同时看的人;  9,过程调用,实现代码和页面的分离;采用全局变量,皮肤等;  10,功能完善的计器功能;可以统计网站的访问总人,昨天访问,今天访问量,在线人;  11, 增加影片专集类功能;  12,增加服务器密码认证;  13,增加影片浏览失效性验证,用户可以付款一次,免费再看几次(后台设置);  14,增加 IP限制功能;可以限制某些IP地区的访问;  15,用户分点,天,用户等级可以后台添加修改删除;  16,按用户类型与等级观看下载影片;注册用户必须被审核后才能下载;  17,预置用户点,天信息;  18,网站新闻,公告;  19,网站投票功能;  20,搜索完善功能;  21,美化的浏览环境,采用先进的播放系统;  22,支付手段齐全,手机,网上银行,声讯等;  23,冲值功能,点,天;  24,增加在线聊天室,  25,为了适合不同的消费群体,我们将同时开发:综合版,联通专用版,网吧专用版;  26, 增加网站开放开关,限制登陆开关,限制注册开关,当你网站流量太大时可以采取限制措施;  27,会员等级自动添加功能,可以自由设置会员等级及名称;  28,产品自动增加功能,你可以自动添加出售点,包月产品,无须HTML修改;  29,备份多种网上支付手段,你可以选择自己喜好的支付方式;  30,增加广告播放系统,用户可以自己安放广告;  31,软件下载,用户自动添加软件功能;  32,投票系统管理;  33,影片错误处理,审核功能、延伸程序功能;  34,点卡,月卡自动生成系统,用户冲值系统,增加时间有效性设计;  35,强大的论坛式留言短消息系统,用户可以向管理员或者其他用户发送信息;  36,数据库操作功能,备份,恢复,压缩等;  37,系统初始化功能;  38,用户随机限制,限制某些用户过快的登陆;  39,用户刷新功能限制,后台可以设置对ASP文件的刷新时间;  40,用户登陆限制,自动限制用户的登陆,不能在同一时间在两台电脑使用一个帐号;网吧版把用户IP与帐号绑定;  41,对密码进行MD5加密,增强安全性;  42,增加防止SQL注入式攻击手段;  43,HTML栏目增加所有影片;  44,增加免费电影HTML生成;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值