catalyst

Can't distribute Mac Catalyst extension

有些话、适合烂在心里 提交于 2020-06-16 04:36:27
问题 I successfully uploaded to the Appstore for iOS an app with several extensions, but when I try to upload the same app for Mac AppStore ( a Mac Catalyst App ) I get the following error from Xcode on two extensions ERROR ITMS-90355: "Missing Info.plist value. No value for NSExtensionPrincipalClass found in extension Info.plist for MyApp.app/Contents/PlugIns/MyExtension.appex" These extensions are a Share Extension and an Action Extension that have a storyboard file, so if I set the

Spark SQL源码解析(三)Analysis阶段分析

喜欢而已 提交于 2020-04-29 12:40:17
Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Analysis阶段概述 首先,这里需要引入一个新概念,前面介绍SQL parse阶段,会使用antlr4,将一条SQL语句解析成语法树,然后使用antlr4的访问者模式遍历生成语法树,也就是Logical Plan。但其实,SQL parse这一阶段生成的Logical Plan是被称为Unresolved Logical Plan。所谓unresolved,就是说SQL语句中的对象都是未解释的。 比如说一条语句 SELECT col FROM sales ,当我们不知道col的具体类型(Int,String,还是其他),甚至是否在sales表中有col这一个列的时候,就称之为是Unresolved的。 而在analysis阶段,主要就是解决这个问题,也就是将Unresolved的变成Resolved的。Spark SQL通过使用Catalyst rule和Catalog来跟踪数据源的table信息。并对Unresolved应用如下的rules(rule可以理解为一条一条的规则,当匹配到树某些节点的时候就会被应用)。 从Catalog中,查询Unresolved Logical Plan中对应的关系

Spark SQL源码解析(三)Analysis阶段分析

核能气质少年 提交于 2020-04-29 12:34:00
Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Analysis阶段概述 首先,这里需要引入一个新概念,前面介绍SQL parse阶段,会使用antlr4,将一条SQL语句解析成语法树,然后使用antlr4的访问者模式遍历生成语法树,也就是Logical Plan。但其实,SQL parse这一阶段生成的Logical Plan是被称为Unresolved Logical Plan。所谓unresolved,就是说SQL语句中的对象都是未解释的。 比如说一条语句 SELECT col FROM sales ,当我们不知道col的具体类型(Int,String,还是其他),甚至是否在sales表中有col这一个列的时候,就称之为是Unresolved的。 而在analysis阶段,主要就是解决这个问题,也就是将Unresolved的变成Resolved的。Spark SQL通过使用Catalyst rule和Catalog来跟踪数据源的table信息。并对Unresolved应用如下的rules(rule可以理解为一条一条的规则,当匹配到树某些节点的时候就会被应用)。 从Catalog中,查询Unresolved Logical Plan中对应的关系

构建安全的园区网络

China☆狼群 提交于 2020-04-29 11:57:54
前段时间模拟设想了一下学校的网络需求,现在大概写一下具体方案.虽然学校已经铺设完毕,但如果是我设计会是什么样呢?具体实施方案: 1 主干网要采用千兆核心设备接入,百兆到桌面。虽然ATM在技术和功能上与千兆主干网差不多,但ATM的结构复杂,而且技术不是很成熟,有许多标准还要再完善,不够成熟,所以推荐使用千兆以太网; 2汇聚层采用聚合 可堆叠的 具有千兆接口的设备。因为汇聚层上端直接与核心层连接,所以要有千兆接口,而且不同教学楼的需求不同,所以有的为了保证传输质量就要采用聚合 叠堆技术。 3为了增加扩展性,尽量选用模块化设备,可以随意增减; 4为了保证质量,尽量采用Cisco的产品,在终端采用华为的设备 方案一: 主干核心设备选用Cisco Catalyst 4948交换机,它具有具有48个线速10/100/1000BASE-T端口,并另有4个线速端口,可容纳可选1000BASE-X小型可插拔(SFP)光接,为数据密集性 应用提供了线速吞吐率和低延迟,电源冗余实现不间断工作,可以方便制定ACL列表对网络加以控制,支持SSH远程登陆管理,二层到四层的所有协议几乎都支持。 在汇聚层设备选用Cisco3750交换机,它允许来自几个千兆以太网的接口,具有低时延特点,具有48 端口千兆位平台提供了4 条小型可插拔(SFP)上行链路,将双冗余上行链路作为更高可用性优势,具有多堆栈聚合功能

Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述

匆匆过客 提交于 2020-04-23 06:10:10
Spark SQL模块,主要就是处理跟SQL解析相关的一些内容,说得更通俗点就是怎么把一个SQL语句解析成Dataframe或者说RDD的任务。以Spark 2.4.3为例,Spark SQL这个大模块分为三个子模块,如下图所示 其中Catalyst可以说是Spark内部专门用来解析SQL的一个框架 ,在Hive中类似的框架是Calcite(将SQL解析成MapReduce任务)。Catalyst将SQL解析任务分成好几个阶段,这个在对应的论文中讲述得比较清楚,本系列很多内容也会参考论文,有兴趣阅读原论文的可以到这里看: Spark SQL: Relational Data Processing in Spark 。 而Core模块其实就是Spark SQL主要解析的流程,当然这个过程中会去调用Catalyst的一些内容。这模块里面比较常用的类包括SparkSession,DataSet等。 至于hive模块,这个不用说,肯定跟hive有关的。这个模块在本系列基本不会涉及到,就不多介绍了。 值得一提的是,论文发表的时候还是在Spark1.x阶段,那个时候SQL解析成词法树用的是scala写的一个解析工具,到2.x阶段改为使用antlr4来做这部分工作(这应该算是最大的改变)。至于为什么要改,我猜是出于可读性和易用性方面的考虑,当然这个仅是个人猜测。 另外,

Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述

别等时光非礼了梦想. 提交于 2020-04-23 03:54:15
Spark SQL模块,主要就是处理跟SQL解析相关的一些内容,说得更通俗点就是怎么把一个SQL语句解析成Dataframe或者说RDD的任务。以Spark 2.4.3为例,Spark SQL这个大模块分为三个子模块,如下图所示 其中Catalyst可以说是Spark内部专门用来解析SQL的一个框架 ,在Hive中类似的框架是Calcite(将SQL解析成MapReduce任务)。Catalyst将SQL解析任务分成好几个阶段,这个在对应的论文中讲述得比较清楚,本系列很多内容也会参考论文,有兴趣阅读原论文的可以到这里看: Spark SQL: Relational Data Processing in Spark 。 而Core模块其实就是Spark SQL主要解析的流程,当然这个过程中会去调用Catalyst的一些内容。这模块里面比较常用的类包括SparkSession,DataSet等。 至于hive模块,这个不用说,肯定跟hive有关的。这个模块在本系列基本不会涉及到,就不多介绍了。 值得一提的是,论文发表的时候还是在Spark1.x阶段,那个时候SQL解析成词法树用的是scala写的一个解析工具,到2.x阶段改为使用antlr4来做这部分工作(这应该算是最大的改变)。至于为什么要改,我猜是出于可读性和易用性方面的考虑,当然这个仅是个人猜测。 另外,

强势入驻Kaggle,却什么奖都没拿到?Notebooks Grandmaster第一名:我也很苦恼

南笙酒味 提交于 2020-04-14 12:06:03
【推荐阅读】微服务还能火多久?>>> 参与 Kaggle 竞赛却没有拿到奖牌,我应该怎么办? 机器之心报道,参与:泽南、魔王、杜伟。 很多参与 Kaggle 竞赛的人都希望能够通过构建具有竞争力的算法来提升自己的水平,但对于绝大多数参与 Kaggle 竞赛的同学来说,在一番努力之后没有拿到任何奖牌显然是大概率事件。 在这之后应该怎么办呢? 参加 Kaggle 竞赛屡屡败北后,Kaggle 社区 Notebooks Grandmaster 第一名 Andrew Lukyanenko 总结了自己的经验: 孟加拉语是全球使用人数第五的语言。Kaggle 上有一个孟加拉语识别挑战赛。这种语言拥有 49 个字母和 18 个变音符号,这意味着它存在很多种字位(书写语言的最小单元)。 在「Bengali.AI Handwritten Grapheme Classification」挑战中,参赛者需要使用机器学习方法来预测这些字位的三个独立部分——字位根、元音变音符号和辅音变音符号。 看起来有点超纲了?这样一个可能有些小众的比赛,吸引了超过两千支队伍参赛。起初我只是单枪匹马前来参加,但很快就找到了四个志同道合的网友组成了团队。我们在这场比赛中花费了大量时间和资源……最终却只名列第 254 位,没有获得任何奖牌。 「社会的毒打」让我沮丧了很长一段时间。 失败后我究竟做了些什么?在这之后

IIC通信的AT24C02学习笔记

百般思念 提交于 2020-04-14 03:24:13
【今日推荐】:为什么一到面试就懵逼!>>> 引言 最近在学习几种串行通信协议,感觉收获很多,这篇文章是学习IIC总线协议的第一篇文章,以后还会再写一篇关于PCF8591 IIC通信的ADDA转换芯片的文章. 关于IIC总线 IIC 即Inter-Integrated Circuit(集成电路总线),这种总线类型是由飞利浦半导体公司在八十年代初设计出来的一种简单、双向、二线制、同步串行总线,主要是用来连接整体电路(ICS) ,IIC是一种多向控制总线,也就是说多个芯片可以连接到同一总线结构下,同时每个芯片都可以作为实时数据传输的控制源。主要包括启始、停止、读、写、应答信号。这种方式简化了信号传输总线接口。 IIC总线上可以挂多个器件,而每个器件都有唯一的地址,这样可以标识通信目标。数据的通信的方式采用主从方式,主机负责主动联系从机,而从机则被动回应数据。 关于AT24C02 AT24C02是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。AT24C02有一个8字节页写缓冲器。该器件通过IIC 总线接口 进行操作,有一个专门的 写保护 功能。在单片机上的应用广泛, 可以实现掉电数据不丢失功能。 IIC总线数据有效性的规定 SCL=1期间,SDA必须保持稳定,SCL=0时,SDA才允许改变。 IIC

C9K Stackwise Virtual(一)

你说的曾经没有我的故事 提交于 2020-04-13 19:41:01
【今日推荐】:为什么一到面试就懵逼!>>> 一、SV技术基本说明 思科Catalyst9K平台的Stackwise Virtual技术是将 两个物理的交换机 虚拟成 一个逻辑的实体 (从网络控制层面和管理的角度来看),这两个交换机合二为一之后,将共享相同的配置和转发状态。这项技术对于网络设计在如下方面都得到了强化: 高可用性 扩展性 设备管理 设备维护 由于两个设备都虚拟成了一台逻辑的设备,所以生成树(STP)将该逻辑的设备视为一个桥节点,但是和其他的SW设备协同工作,也需要注意STP的使用。另外,该技术也整合了包括SSO(Stateful Switch Over)、NSF(Non-Stop Forwarding)、MEC(Multi-chassis EtherChannel)等技术,以提升了可靠性。 从如上这个图我们可以看到,该技术消除了HSRP/VRRP等FHRP协议的使用,避免FHRP协议的一些问题。并通过LACP,PAGP等完成了的Ethernet Channel的建立,实现EMC。为了使用该技术,需要特定的硬件和软件来支持。且不同的设备,要求可能也会不一样。 二、SV技术的架构 该技术将两台配置为同一给SV domain的物理设备虚拟成为一台逻辑的设备,其中一台设备被指定为Active角色,另外一台则作为Standby角色,所有的控制平面的工作都是Active交换机来处理

sparkSql catalyst优化器

二次信任 提交于 2020-04-10 17:43:58
相关概念 AST树 SQL语法树是编译后被解析的树状结构,树包括很多对象,每个节点都有特定的数据类型,同事有孩子节点(TreeNode对象)。 规则 等价规则转化将规则用于语法树。任何一个SQL优化器中,都会定义大量的Rule,SQL优化器遍历所有节点。匹配所有给定规则,如果匹配成功进行相应转换;失败则继续遍历下一个节点。 Catalyst工作流程 Parser,利用 ANTLR 将sparkSql字符串解析为抽象语法树AST,称为unresolved logical plan/ULP Analyzer,借助于数据元数据catalog将ULP解析为logical plan/LP Optimizer,根据各种RBO,CBO优化策略得到optimized logical plan/OLP,主要是对Logical Plan进行剪枝,合并等操作,进而删除掉一些无用计算,或对一些计算的多个步骤进行合并 优化分类 基于规则优化 /Rule Based Optimizer/RBO 一种经验式、启发式优化思路,基于已知的优化方法定义具体的规则进行优化。 对于核心优化算子join有点力不从心,如两张表执行join,到底使用broadcaseHashJoin还是sortMergeJoin,目前sparkSql是通过手工设定参数来确定的,如果一个表的数据量小于某个阈值(默认10M