当前位置: 首页 > news >正文

中国工商银行官网网站网站程序的构成

中国工商银行官网网站,网站程序的构成,游戏网站建设论坛,wordpress 批量缩略图在实际工作中会遇到#xff0c;最近有需求将产品炸开bom到底层#xff0c;但是ERP中bom数据在一张表中递归存储的#xff0c;不循环展开#xff0c;是无法知道最底层原材料是什么。 在ERP中使用pl/sql甚至sql是可以进行炸BOM的#xff0c;但是怎么使用spark展开#xff0…在实际工作中会遇到最近有需求将产品炸开bom到底层但是ERP中bom数据在一张表中递归存储的不循环展开是无法知道最底层原材料是什么。 在ERP中使用pl/sql甚至sql是可以进行炸BOM的但是怎么使用spark展开并且效率要不Oracle更高效的展开是个问题。 展开方法 有以下步骤 1. 使用spark sql中sql直接递归展开 优点可行且效率很快 缺点一个sql炸到底层无法添加在炸开过程中的逻辑管控 2. 一层层的展开BOM直到没有可以展开的物料为止 实际效果 优点可行并可以在每一层进行管快 优缺点本质上并不是递归计算而是过度有限循环的计算 与一些需求有冲突比如原需求为递归计算按照需求扣减现有量是无法实现的 3. 使用sparkscala递归炸开bom--实验中 具体步骤如下 1.使用spark sql展开bom 在Scala中我们可以使用Spark SQL来执行递归查询。要使用Spark SQL进行递归查询我们首先需要创建一个递归查询视图然后在该视图中执行我们的查询操作。接下来我们将介绍一个具体的示例来解释如何使用Spark SQL进行递归查询。 假设我们有一个部门表其中包含部门的ID和上级部门的ID。我们想要查询一个部门的所有上级部门直到根部门的层级关系。以下是一个简化的部门表结构和数据 CREATE TABLE department (department_id INT,parent_department_id INT );INSERT INTO department VALUES (1, NULL); INSERT INTO department VALUES (2, 1); INSERT INTO department VALUES (3, 2); INSERT INTO department VALUES (4, 3); INSERT INTO department VALUES (5, 3); INSERT INTO department VALUES (6, NULL); INSERT INTO department VALUES (7, 6);我们可以使用Spark SQL来执行递归查询查询部门ID为4的部门的所有上级部门 import org.apache.spark.sql.SparkSessionval spark SparkSession.builder().appName(Recursive Query).master(local).getOrCreate()val departmentDF spark.read.format(jdbc).option(url, jdbc:mysql://localhost:3306/test).option(dbtable, department).option(user, root).option(password, password).load()departmentDF.createOrReplaceTempView(department)spark.sql(WITH RECURSIVE department_hierarchy AS (SELECT department_id, parent_department_idFROM departmentWHERE department_id 4UNION ALLSELECT d.department_id, d.parent_department_idFROM department_hierarchy dhJOIN department d ON dh.parent_department_id d.department_id)SELECT *FROM department_hierarchy ).show()上述示例中我们使用Spark SQL的WITH RECURSIVE语法来定义一个递归查询视图department_hierarchy。起始查询使用了WHERE子句来找到部门ID为4的部门然后使用UNION ALL子句将递归部分与起始部分联接起来直到找到根部门为止。最后我们通过SELECT语句从递归查询视图中选择所需的列。 运行以上代码我们可以得到结果如下 -------------------------------- |department_id|parent_department_id| -------------------------------- | 4| 3| | 3| 2| | 2| 1| | 1| NULL| --------------------------------总结 本文中我们介绍了如何使用Scala中的Spark SQL来执行递归查询。我们首先了解了递归查询的概念和用法然后通过一个具体的示例演示了如何使用Spark SQL进行递归查询。通过使用Spark SQL的WITH RECURSIVE语法我们可以方便地处理复杂的递归查询操作从而更好地利用Spark处理大规模结构化数据。 参考文档如下
http://www.w-s-a.com/news/496055/

相关文章:

  • 甘肃省第八建设集团公司网站seo高级优化方法
  • 精美的商城网站介绍最多人用的wordpress子主题
  • 检察门户网站建设情况俄外长抵达北京
  • 老电脑做网站服务器网站在线留言如何做
  • 南宁广告公司网站建设小程序源码破解
  • 沛县做网站xlec网站建设开发方式包括哪些方面
  • 山西网站建设 哪家好四川城乡和建设厅网站
  • 有瀑布流的网站小型商城网站
  • 百石网怎么做网站二次开发软件
  • 网站域名是什么东西制作网页哪家好
  • 合肥网站建设团队简述网站内容管理流程
  • 网站广告是内容营销吗wordpress增加背景图片
  • 网站建设技术jsp课程设计响应式布局网站开发
  • 东莞网站排名优化seo套路网站怎么做的
  • 我做网站网络建站一般多少钱
  • 如何快速提升网站关键词排名房地产网站开发毕业设计
  • 做网站 提交源码 论坛sem分析是什么意思
  • 网站建设与部署阿里云大学百度付费推广有几种方式
  • 作品集怎么做网站个人简历模板免费下
  • 工业网站素材重庆关键词自动排名
  • 拖拽式网站建设费用微网站怎么做的好名字
  • 长沙电信网站备案谷歌推广怎么做最有效
  • 网站建设与管理总结报告华为开发者联盟
  • 门诊部网站建设天空建筑网站
  • 扬州市城乡建设网站高端品牌鞋子有哪些牌子
  • 杭州网站建设招聘网长沙网络销售公司
  • 网站制作一年多少钱免费做电子章网站
  • 信誉好的营销网站建设徐州市铜山新区建设局网站
  • 建行网站关于我们山西seo和网络推广
  • 1m带宽做网站怎么样深圳网站建设制作开发公司