- 博客(31)
- 资源 (2)
- 收藏
- 关注
原创 Strapi 之API详述
使用Strapi提供的API,我们可以访问模型的数据,并使用字段来指定要获取的特定属性。例如,如果只想获取标题和作者属性,可以在API请求中使用Fields指定这些属性,而不是获取模型中的所有属性。然后,我们可以将“作者”模型与“文章”模型关联起来,并在API响应中返回相关的作者数据。在Strapi中创建模型时,我们可以为模型添加多个字段,每个字段代表模型中的一个属性,例如标题、内容、作者等。在上面的示例中,我们将title和created_at指定为要获取的属性,因此API响应将只包含这两个属性的数据。
2023-03-21 09:02:26
1053
原创 Strapi之Entity Service API
Query Engine API 和 Entity Service API 都是 Strapi 平台提供的 API,但是它们的功能和用途有所不同。Entity Service API 主要用于管理实体对象的创建、读取、更新和删除操作,它是对 Strapi 数据库的一种抽象,用于对实体对象进行 CURD 操作。通过 Entity Service API,您可以方便地将实体对象存储在 Strapi 平台上,并对其进行 CRUD 操作。
2023-03-21 09:00:53
589
原创 react+antdpro+ts实现企业级项目四:注册页面实现及useEmotionCss的介绍
基于strapi的注册页面实现及useEmotionCss的介绍
2023-03-09 23:37:50
1619
原创 react+antdpro+ts实现企业级项目二:Strapi及认证登陆模块
本文介绍了如何使用 strapi 来构建一个简单的权限校验系统。通过介绍建表、插入数据、增加用户、授权和校验等方面的内容,读者可以了解到 strapi 在实现权限校验方面的优势和应用场景。
2023-03-07 23:39:02
1280
原创 react+antdpro+ts实现企业级项目一:项目安装及内置模块删除
本项目基于react+antdpro+typescript实现了企业级项目,包含前端开发、部署、优化、打包等
2023-03-07 23:32:58
770
原创 python读取数据库的文件出现编码问题的解决办法
一些基本概念:编码:将人类可识别的字符转换为机器可识别的字节码、字节序列。encode解码:编码的反向过程。decodeunicode是人类可识别的字符串格式。ASCII、UTF-8、GBK等都是机器可识别的字节编码。python2的默认编码是ASCII码,因此无法识别中文字符,需要显式指定字符编码。机器内存中的数据,统一使用UNICODE编码数据传输或者保存到硬盘上,使用UTF-8编...
2020-04-28 13:12:52
1207
原创 前后端之文件通信
前端用:REACT后端:FLASK一、文件的上传<Tr> <Td title="缓停清单" span="3"> <Form.Item > {getFieldDecorator('缓停清单', { valuePropName: 'fileList', getValueFromEvent:this...
2020-04-26 16:14:31
264
原创 用户访问session分析-随机抽取
目标 按每天每小时的session数量占当天session总数的比例,乘以每天要抽取的session数量,计算出每个小时要抽取的session数量。然后在每天每个小时的session中,随机抽取出之前计算出的数量的session。举例:10000个session,100个session;0点~1点之间,有2000个session,占总session的比例就是0.2;按照比例,0点~1点需要抽
2018-01-28 23:32:13
385
翻译 用户访问session分析-按session粒度进行数据聚合
思路:之前模拟创建了两张表:user_visit_action 和 user_info对于user_visit_action表1. 通过用户传过来的指定日期范围内,从user_visit_action中查询出指定的用户访问数据 变成 actionRDD2. 将actionRDDw映射成Sessionid ,Row>的格式:sessionid2ActionRDD3. 对行为数据按S
2018-01-19 16:21:34
1884
转载 模拟生成user_visit_action 和user_info 的数据
import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Random;import java.util.UUID;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.api.java.
2018-01-19 15:39:05
708
原创 DAO及工厂模式实现
DAO模式介绍 DAO是Data Access Object(数据访问对象)的简称。首先,你的应用程序肯定会有业务逻辑的代码。在三层架构的web系统中,业务逻辑的代码,就是在你的Service组件里面;在我们的spark作业中,业务逻辑代码就是在我们的spark作业里面。如果说,不用DAO模式的话,那么所有的数据库访问的代码和逻辑会全部耦合在业务逻辑代码里面。比如,你的业务逻辑代码中,可
2018-01-17 21:49:16
2956
原创 剑指offer第三天
链表中倒数第k个结点:需要注意:如果输入的链表为空;k大于链表的长度;k为0的情况。对于正常情况,设置两个指针分别指向头结点,第一个指针向前走k-1步,走到正数第k个结点,同时保持第二个指针不动,然后第一个指针和第二个指针每次同时前移一步,这样第一个指针指向尾结点的时候,第二个指针指向倒数第k个结点。判断尾结点的条件是 pNode.next == None。# -*- coding:utf
2018-01-17 16:25:19
171
原创 剑指offer第二天
八、旋转数组的最小数字 二分查找的变形,注意到旋转数组的首元素肯定不小于旋转数组的尾元素,设置中间点。 1. 如果中间点大于首元素,说明最小数字在后面一半 2. 如果中间点小于尾元素,说明最小数字在前一半。依次循环。 3. 同时,当一次循环中首元素小于尾元素,说明最小值就是首元素。 4. 但是当首元素等于尾元素等于中间值,只能在这个区域顺序查找。class solution:
2018-01-17 11:35:30
191
原创 JDBC辅助组件的开发
要点: 静态代码块 数据库驱动的加载 单例模式 数据库连接池 获取数据库连接 禁止使用硬编码(导入Constants接口) 实现增删改查+ 批量执行单例模式介绍 我们自己定义的类,其实默认情况下,都是可以让外界的代码随意创建任意多个实例的,但是有些时候,我们不希望外界来随意创建实例,而只是希望一个类,在整个程序运行期间,只有一个实例,任何外界代码
2018-01-16 23:32:01
309
原创 电商项目之数据表设计
session_aggr_stat表:存放session聚合统计的结果CREATE TABLE `session_aggr_stat` ( `task_id` int(11) NOT NULL, `session_count` int(11) DEFAULT NULL, `1s_3s` double DEFAULT NULL, `4s_6s` double DEFAULT
2018-01-15 15:19:22
2660
原创 剑指offer 第一天
二维数组中的查找PYTHONclass Solution: # array 二维列表 def Find(self, array, target): # 判断数组是否为空 if array == []: return False rawnum = len(array) colnum = len(arr
2018-01-03 23:39:51
179
原创 电商项目的配置
安装centos6.4设置网卡:桥接网卡 桥接方式下,VMware模拟一个虚拟的网卡给客户系统,主系统对于客户系统来说相当于是一个桥接器。客户系统好像是有自己的网卡一样,自己直接连上网络,也就是说客户系统对于外部直接可见。 简单地说,虚拟主机和物理主机在同一个网段,就相当于局域网里多出来了一台电脑在上网,而这台电脑就是虚拟机里的系统。物理主机和虚拟主机的IP处于同一网段,DNS和
2018-01-03 11:12:55
662
翻译 Spark与kafka和flume的集成
kafka原理 Topic在逻辑上可以被认为是一个queue,每条消费都必须指定它的Topic,可以简单理解为必须指明把这条消息放进哪个queue里。为了使得Kafka的吞吐率可以线性提高,物理上把Topic分成一个或多个Partition,每个Partition在物理上对应一个文件夹,该文件夹下存储这个Partition的所有消息和索引文件。若创建topic1和topic2两个topic
2018-01-02 16:45:31
768
翻译 Spark Streaming应用
SparkStreaming 的用途(流式计算的应用场景) 1. 实时统计,累加(淘宝的大屏) kafka + sparkstreaming(updateStatByKey,mapwithState) 2. 实时统计,最近一段时间指标 实时查看最近一个小时之内的用户点击量,各省或者重点城市(window窗口)工作原理:Spark Core RDD sc =
2018-01-01 21:39:34
309
原创 SQL相关知识
dataframe 和 RDD 的比较case class Person(name:String,age:Int) val rdd = sc.textFile("hdfs://hadoop1:9000/examples/src/main/resources/people.txt").map(line => line.split(",")).map(p => Person(p(0),p(1).tri
2017-12-18 21:52:50
223
原创 RDD 转化为 DataFrame
DataFrame:读取和执行查询都会返回DataFrame,是一个由ROW 对象组成的RDD,附带包括每列数据类型的结构信息。ROW对象是支队基本数据类型的数组的封装。 ROW对象:表示DataFrame中的记录。本质是一个定长的字段数组。Spark将RDD转换成DataFrame的两种方式一、通过反射指定结构类型 通过反射的方式来推断RDD元素中的元数据。因为RDD本身一条数据本身是没有元数
2017-12-17 22:39:56
798
原创 Spark JVM调优 --GC
Spark发生垃圾回收的原理: GC:garbage collector 垃圾回收executor是JVM中的服务进程。Spark任务运行的时候就是不断的在executor中创建对象。若JVM存不下对象了,就会触发GC(把不需要的对象清除)。 若内存中数据量较大,则可能会很频繁的发生GC,而GC本身很耗费性能,对Spark作业性能影响很大。 同时若数据量很大,那么GC一个涉及的数据量
2017-12-14 14:42:41
1296
原创 资源调优
num-executors 说明:该参数用于设置Spark作业总共要用多少Executor进程来执行。Driver在向YARN集群管理器申请资源时,YARN集群管理器会尽可能按照设置来在集群的各个工作节点上启动相应数量的Executor进程。此参数非常重要,若不设置,默认只会启动少量的Executor进程,此时会非常慢 建议:每个Spark作业的运行一般设置50~100个左右的Executor进
2017-12-14 13:55:53
222
原创 Spark资源模型
Spark作业运行图: 1. 使用spark-submit提交一个spark应用,这个应用/作业会启动一个对应的driver进程,这个driver会根据提交模式的不同,可能在本地启动(client),也可能在集群中某个工作节点(cluster)上启动。 driver服务进程启动,会根据我们设置的参数,占用一定量的cpu和内存。 2. driver启动完成后做的第一件事是像集群的资源管理器
2017-12-13 23:19:08
342
原创 数据倾斜
数据倾斜发生时的现象: 1.绝大多数task执行得都非常快,但个别task执行的极慢。 2.原本能正常执行的Spark作业,某天突然爆出OOM(内存溢出)异常。观察异常栈,是我们写的业务代码造成的数据倾斜发生的原理 在进行shuffle的时候,必须将各个节点上海相同的Key拉取到某个节点上的一个task来进行处理,比如按照key进行聚合或者join操作。如果某个key对应的数据量特别大的话,会
2017-12-10 19:58:14
2314
原创 Spark的数据本地化
数据本地化对于Spark Job性能有着巨大影响。如果数据以及要计算它的代码是在一起的,那么性能必然会很高,若不在一起,则其中之一必须移动到另外一方机器上,通常移动代码的速度会快得多。Spark基于这个数据本地化的原则来构建task调度算法的。 数据本地化:数据离计算它的代码有多近。基于数据距离代码的距离,有几种数据本地化级别: 1. PROCESS_LOCAL :数据和计算它的代码在同一个JV
2017-12-10 16:23:03
1084
原创 Spark调优的策略
1. RDD的持久化 cahce() persist() checkpoint() 2. 避免创建重复的RDD 3.尽可能复用同一个RDD 类似于多个RDD的数据有重叠或者包含的情况,应该尽量复用一个RDD,以尽可能减少RDD的数量,从而减少算子计算次数 4.尽量避免使用shuffle类算子 spark运行过程中,最消耗性能的地方就是shuff
2017-12-09 16:43:35
3504
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人