debug
1.ide
2.pdb
https://blog.csdn.net/lemonaha/article/details/71305344
两种方式:
1.非侵入式
不加代码
python -m pdb XX.py
2.侵入式
加代码
import pdb
pdb.set_trace()
https://blog.csdn.net/lemonaha/article/details/71305344
两种方式:
1.非侵入式
不加代码
python -m pdb XX.py
2.侵入式
加代码
import pdb
pdb.set_trace()
https://www.cnblogs.com/gtscool/p/13072051.html
https://blog.csdn.net/l1394049664/article/details/81811642
https://tech.meituan.com/2016/04/29/spark-tuning-basic.html
设置分区数
几个执行节点 ,一个worker 一般对应1个 executor
num-executors
executor-cores
driver-memory
Executor的内存主要分为三块:第一块是让task执行我们自己编写的代码时使用,默认是占Executor总内存的20%;第二块是让task通过shuffle过程拉取了上一个stage的task的输出后,进行聚合等操作时使用,默认也是占Executor总内存的20%;第三块是让RDD持久化时使用,默认占Executor总内存的60%。
executor-memory
spark.shuffle.memoryFraction
spark.storage.memoryFraction
以下是一份spark-submit命令的示例,大家可以参考一下,并根据自己的实际情况进行调节:
1 | ./bin/spark-submit \ |
https://codeantenna.com/a/Y6wpSYwfRL
1.web ui
https://blog.csdn.net/godelgnis/article/details/106051751
2.命令行
可以指定部署方式
https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/deployment/cli/
https://blog.csdn.net/weixin_42993799/article/details/106566037
1 | 1 参数必选 : |
POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。
执行任务或目标时,Maven 会在当前目录中查找 POM。它读取 POM,获取所需的配置信息,然后执行目标。
Flink的部署方式是灵活的,跟Spark一样,支持Local,Standalone,Yarn,Mesos,Kubernetes
代码中好像不能指定部署方式,和spark不同
https://blog.csdn.net/qq_33689414/article/details/90671685
最简单的启动方式,其实是不搭建集群,直接本地启动。本地部署非常简单,直接解压安装包就可以使用,不用进行任何配置;一般用来做一些简单的测试。
会话模式,应用模式
区别在于jobmaster的启动时间点,会话预先启动,应用在作业提交启动
1 会话 session
在会话模式下,我们需要先启动一个YARN session,这个会话会创建一个 Flink集群。
2 单作业 per-job
flink不会预先启动,在提交作业,才启动新的jobmanager
3 应用application
与单作业很相似
区别在于提交给yarn资源管理器的不是具体作业,而是整个应用(包含了多个作业)
数据模型
1 spark 采用 RDD 模型, spark streaming 的 DStream 实际上也就是一组 组小批
数据 RDD 的集合
2 flink 基本数据模型是数据流,以及事件( Event )序列
运行时架构
1 spark 是批计算,将 DAG 划分为不同的 stage ,一个完成后才可以计算下一个
2 flink 是标准的流执行模式,一个事件在一个节点处理完后可以直接发往下一个节
点进行处理
https://blog.csdn.net/weixin_46303867/article/details/115256466
https://blog.csdn.net/szxiaohe/article/details/103639127