TypechoJoeTheme

从百草味到三只松鼠

统计
登录
用户名
密码

最新文章

2021-12-28

Spark 随记

Spark 随记
这篇随记是笔者粗浅的分析一下spark的源码。使用的是 https://spark.apache.org/downloads.html 下载的源码,若想省事可直接ctrl+f 直接搜索 org.apache.spark.deploy.SparkSubmit 的 SparkSubmit 这个类。但是不能对源码进行自定义的注释之类的还是比较受限的。所以推荐还是自己下载源码使用 idea 打开 。笔者也是自己的下的源码 简单分析一下。毕竟每次提交任务时都是看着任务开始那么多的日志也不知道发生了啥~ 哈哈 部分图片是摘自网上的。侵删。1.1 核心组件1.1.1 DriverSpark驱动器节点,用于执行Spark任务中的main方法,负责实际代码的执行工作。Driver在Spark作业执行时主要负责:将用户程序转化为作业(job);在Executor之间调度任务(task);跟踪Executor的执行情况;通过UI展示查询运行情况;1.1.2 ExecutorSpark Executor节点是一个JVM进程,负责在 Spark 作业中运行具体任务,任务彼此之间相互独立。Spark 应用...
dongyl
2021-12-28

spark,随记

2021年12月28日
56 阅读
2 评论
2021-12-13

Spark -submit 参数及优化

Spark -submit 参数及优化
spark submit 基本格式举例:spark-submit \ --class com.lance.MyMain \ --master yarn-cluster \ --executor-memory 1G \ --num-executors 8 \ --executor-cores 2 \ --queue lance_queue hdfs:////user/lance-1.0.jar arg1 arg2前言不要期待修改一个参数能够像魔法一样立马得到神奇的好效果!(某些时候效果确实很棒^_^)你应当把参数看作一道菜中的调味品,能够丰富味道,但主要还是得靠原材料的质量与炒菜的技艺。开发Spark应用时,应当先优化好你的应用代码,再来思考调参优化(必要的参数的除外)。调参是一个比较复杂的主题,不同的环境、不同的代码都会导致同样的参数产生不同的效果。建议尽量在确定您的生产环境情况后、在优化好存在明显问题的代码后,再做调参测试。下面会列出开发中常用的部分参数,并加以解释,以作参考个人瞎说其实说了这么多,我认为最快捷的调优还是看 web UI 页面查看执行的某行代码所需时间。大部...
dongyl
2021-12-13

spark

2021年12月13日
59 阅读
0 评论
2021-12-09

windows 下安装python

windows 下安装python
1 下载安装包https://www.python.org/downloads/windows/2 下载后双击该文件下一步下一步 安装好后,.开始——搜索框中输入“cmd”——回车,启动命令提示符——输入Python安装 piphttps://pypi.org/project/pip/#modal-close下载地址是:https://pypi.org/project/pip/#files (win7.8.9.10 下,记得下载压缩文件)如链接: https://files.pythonhosted.org/packages/00/5f/d6959d6f25f202e3e68e3a53b815af42d770c829c19382d0acbf2c3e2112/pip-21.3.tar.gz解压后,cmd 进入该目录python setup.py install然后在环境变量添加 C:\Pythonxx\Scripts; 装完之后,直接运行 pip .或 pip list .不会弹出pip不在的提示语
dongyl
2021-12-09

python,安装类

2021年12月09日
39 阅读
0 评论
2021-11-14

浅谈 Kafka

浅谈 Kafka
1. 数据生产流程2. 生产者必要的参数配置bootstrap.servers: 生产者客户端与broker集群建立初始连接需要的broker地址列表key.serializer : 实现了接口 org.apache.kafka.common.serialization.Serializer的 key 序列化类。value.serializer : 实现了接口 org.apache.kafka.common.serialization.Serializer的 value 序列化类。acks: 0=> 生产者不等待broker的任何消息确认。只要将消息放到了 socket的缓冲区,就认为消息已发送。1=> leader将记录写到它本地日志,就响应客户端确认消息, 而不等待follower副本的确认。all => leader等待所有同步的副本确认该消息。保证了只要有 一个同步副本存在,消息就不会丢失。compression.type: 生产者生成数据的压缩格式。默认是none(没有压缩)。允许的 值:none,gzip,snappy和lz4。retr...
dongyl
2021-11-14

kafka

2021年11月14日
38 阅读
0 评论
2021-10-23

浅谈 Clickhouse 优化

浅谈 Clickhouse 优化
1.1 建表指定数据类型建表时能用数值型或日期时间型表示的字段就不要用字符串,全 String 类型在以 Hive为中心的数仓建设中常见,但 ClickHouse 环境不应受此影响。虽然 ClickHouse 底层将 DateTime 存储为时间戳 Long 类型,但不建议存储 Long 类型,因为 DateTime 不需要经过函数转换处理,执行效率高、可读性好create table t_type2( id UInt32, sku_id String, total_amount Decimal(16,2) , create_time Int32 ) engine =ReplacingMergeTree(create_time) partition by toYYYYMMDD(toDate(create_time)) –-需要转换一次,否则报错 primary key (id) order by (id, sku_id);1.2 空值处理官方已经指出 Nullable 类型几乎总是会拖累性能,因为存储 Nullable 列时需要创建一个额外的文件来存储 NULL 的标记,...
dongyl
2021-10-23

clickhouse

2021年10月23日
51 阅读
0 评论
苏ICP备2021053031号-1