首页 > 其他分享 >2024.6.16

2024.6.16

时间:2024-06-16 23:55:21浏览次数:13  
标签:info product string 2024.6 16 sparkSession sql id

public class SparkSQL09_Source_Req {
    public static void main(String[] args) {

        // TODO 在编码前,设定Hadoop的访问用户
        System.setProperty("HADOOP_USER_NAME","atguigu");

        final SparkSession sparkSession = SparkSession
                .builder()
                .enableHiveSupport() // TODO 启用Hive的支持
                .master("local[*]")
                .appName("SparkSQL")
                .getOrCreate();

        //sparkSession.sql("show tables").show();

//        sparkSession.sql("CREATE TABLE `user_visit_action`(\n" +
//                "  `date` string,\n" +
//                "  `user_id` bigint,\n" +
//                "  `session_id` string,\n" +
//                "  `page_id` bigint,\n" +
//                "  `action_time` string,\n" +
//                "  `search_keyword` string,\n" +
//                "  `click_category_id` bigint,\n" +
//                "  `click_product_id` bigint, --点击商品id,没有商品用-1表示。\n" +
//                "  `order_category_ids` string,\n" +
//                "  `order_product_ids` string,\n" +
//                "  `pay_category_ids` string,\n" +
//                "  `pay_product_ids` string,\n" +
//                "  `city_id` bigint --城市id\n" +
//                ")\n" +
//                "row format delimited fields terminated by '\\t';");
//
//        sparkSession.sql("load data local inpath 'data/user_visit_action.txt' into table user_visit_action;");
//
//        sparkSession.sql("CREATE TABLE `city_info`(\n" +
//                "  `city_id` bigint, --城市id\n" +
//                "  `city_name` string, --城市名称\n" +
//                "  `area` string --区域名称\n" +
//                ")\n" +
//                "row format delimited fields terminated by '\\t';");



        sparkSession.sql("CREATE TABLE `product_info`(\n" +
                "  `product_id` bigint, -- 商品id\n" +
                "  `product_name` string, --商品名称\n" +
                "  `extend_info` string\n" +
                ")\n" +
                "row format delimited fields terminated by '\\t';");

        sparkSession.sql("load data local inpath 'data/city_info.txt' into table city_info;");
        sparkSession.sql("load data local inpath 'data/product_info.txt' into table product_info;");

        sparkSession.sql("select * from city_info limit 10").show();

        // TODO 需求:
        //    Spark Core :      热门品类Top10
        //    Spark SQL  : 各区域热门商品Top3

        // TODO 1. 如果需求中有【各个XXXX】描述
        //      表述的基本含义就是相同的数据分在一个组中 :group by
        // TODO 2. 热门:只从点击量统计 => (商品ID, 点击数量)
        // TODO 3. Top3: (组内)排序后取前3名

        /*

        区域      商品      点击数量    排序号
        -----------------------------------
        华北      鞋       5000        1
        华北      鞋       5000        1
        华北      鞋       5000        1
        华北      鞋       5000        1
        华北      鞋       5000        1
        华北      衣服     3500        2
        华北      帽子     1500        3
        东北      鞋       6000        1
        东北      手机     5500        2
        东北      电脑     5200        3

        ---------------------------------------------------------------------
        区域      商品      城市      点击数量     总的点击数量     比率      顺写号
        ---------------------------------------------------------------------
        华北      鞋       北京      5000        14000         5/14      1
        华北      鞋       天津      4000        14000         4/14      2
        华北      鞋       保定      3000        14000         3/14      3
        华北      鞋       石家庄    2000        14000         2/14      4

        1. 行转列?
        2. 如何拼接结果

        SQL不能做或不好做的功能,可以采用自定义 UDF,UDAF 函数来实现

        需求的实现方式:SQL + UDAF


         */



        // TODO 释放资源
        sparkSession.close();

    }

标签:info,product,string,2024.6,16,sparkSession,sql,id
From: https://www.cnblogs.com/258-333/p/18251538

相关文章

  • 【机器学习300问】116、什么是序列模型?序列模型能干什么?
    一、序列模型是什么?        序列模型是机器学习领域中专门设计来处理具有时间顺序或序列结构数据的模型。这类模型能够理解和学习数据中的顺序依赖关系,因此非常适合诸如自然语言处理、语音识别、音乐生成、时间序列预测等任务。    看了上面的定义,似乎还是有......
  • 云动态摘要 2024-06-16
    给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。最新优惠与活动[低至1折]腾讯混元大模型产品特惠腾讯云 2024-06-06腾讯混元大模型产品特惠,新用户1折起!云服务器ECS试用产品续用阿里云 2024-04-14云服务器ECS试用产品续用最新产品更新......
  • 6.16-二叉树的层序遍历~
    429.N叉树的层序遍历题意描述:给定一个N叉树,返回其节点值的层序遍历。(即从左到右,逐层遍历)。例如,给定一个3叉树:返回其层序遍历:[[1],[3,2,4],[5,6]]思路:AC代码:classSolution{public:vector<vector<int>>levelOrder(Node*root){queue<No......
  • [lnsyoj166/luoguP2822/NOIP2016提高组] 组合数问题
    题意原题链接给定\(n,m,k\),对于所有的\(0\lei\len,0\lej\lemin\{i,m\}\),有多少对\((i,j)\)满足\(k|(^i_j)\)sol在解决组合数问题时,若遇到\(n,m\le2000\)的情况,可以使用递推法(杨辉三角)来进行\(O(n^2)\)的预处理,再\(O(1)\)直接调用递推法求组合数\[(^n_m)=(^{n-1}_m)+(......
  • 2024/6/16 今日随笔
    一、实验目的通过使用JavaMVC模式设计简单的数据库管理系统,巩固使用JDBC技术访问数据库的方法,学习使用Java语言对服务器端进行编程,深入理解MVC网站设计模式的基本概念和框架结构。二、实验内容和基本要求从以下列举的四个数据库中,任选其一,或者自行定义其他数据库,每个数据库中......
  • BUUCTF-Misc(151-160)
    [DDCTF2018]第四扩展FSbinwalk提取一下然后提取出来一个加密压缩包,密码就在图片的备注里Pactera提取出来是一个文本字频统计得到flagflag{huanwe1sik4o!}Beautiful_Side010editor打开,发现一个png文件,我们提取出来发现是半张二维码然后打开QRazyBox-QRCodeAnal......
  • 帮猪猪修修改的代码2016年的代码记录
    这是一个图片轮播的代码,但是它们的是css动画,当时代码运行不了,我花了二天才修改,现在记录一下,凭回忆用。<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>网易科技</title><metaname="viewport"content="width=de......
  • [转]32th@深入解析C++并发编程:从多线程到现代C++并发库@20240616
    深入解析C++并发编程:从多线程到现代C++并发库你有没有想过,为什么C++在多线程并发编程方面如此强大?C++11标准的发布,为并发编程带来了哪些革命性的变化?本文将深入探讨C++并发编程背后的技术原理,带你领略现代C++并发库的强大之处。文章将结合代码片段,为你揭示C++并发编程的精髓。1.......
  • [转]32th@探索C++的模板元编程:揭秘零运行时开销的高性能编程技术@20240616
    C++的模板元编程是一种强大的编程技术,它能够在编译时进行计算,生成高效的代码,而且不需要任何运行时开销。这种技术被广泛应用于高性能计算、游戏开发、金融等领域,是C++程序员必须掌握的技能之一。本文将深入探讨C++模板元编程的原理和实现方式,并通过代码案例来展示其强大的功能。相......
  • 2024年6月16日 18:10,cnblog博客园的第一天!!!
    终于A了P06614迷宫游戏5,原来是动态规划......点击查看代码#include<bits/stdc++.h>#definedebug(a);cout<<#a<<"="<<a<<endl;#definerep(i,a,b)for(inti=a;i<=b;i++)#definepep(i,a,b)for(inti=a;i>=b;i--)usingnamespacestd;......