- 博客(346)
- 资源 (12)
- 收藏
- 关注
原创 从 ClickHouse 到 ByteHouse:实时数据分析场景下的优化实践
近日,字节跳动旗下的企业级技术服务平台火山引擎正式对外发布了 ByteHouse。在打造 ClickHouse 企业版 ByteHouse 的过程中,我们经过了多年的探索与沉淀,今天和大家分享字节跳动过去使用 ClickHouse 的两个典型应用于优化案例。近日,字节跳动旗下的企业级技术服务平台火山引擎正式对外发布「ByteHouse」,作为 ClickHouse 企业版,解决开源技术上手难 & 试错成本高的痛点,同时提供商业产品和技术支持服务。作为国内规模最大的 ClickHouse 用户.
2021-11-22 14:58:46
465
原创 数据仓库之模型设计
模型设计的三个阶段1. 概念模型:划分主题2. 逻辑模型:即一个主题可以分析归纳出的某几种具体生活常识中的总结点,例如自然人的 动产 不动产等。3. 物理模型:物理模型设计是指根据逻辑模型设计的结构为基础,设计数据对象的物理实现,比如表的命名规范、字段的命名规范、字段类型选择、分区设置、存储设置、更新方式、调度配置(调度时间、父子节点等)一、数据仓库与数据库的区别1、数据仓库是集成的,数据库为单一的业务提供服务。2、BI结构:数据整合层、数据服务层、应用分析层、信息展现层3、
2021-10-25 17:09:53
4511
原创 数仓分层简析
数据仓库分层的好处①,清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解②,减少重复开发:规范数据分层,开发一些通用的中间层数据,能减少极大的重复计算③,统一数据口径:通过数据分层提供统一的数据出口,同意对外输出的数据口径④,复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题为什么要建立数据仓库当你需要集中化管理你的数据时当你希望以更高效的方式使用数据时当你的数据量和复杂度到了需要一个团队来维护时当你希望想要数据驱动业务时当你想
2021-10-25 15:49:19
290
原创 spark 处理mysql tinyint损失精度问题处理
Spark JDBC系列–Mysql tinyInt字段特殊处理spark中,mysql的方言主要约定了数据库中varbinary、bit和tinyint类型的特殊映射,其他类型使用默认映射,源码如下:private case object MySQLDialect extends JdbcDialect { override def getCatalystType( sqlType: Int, typeName: String, size: Int, md: MetadataBui
2021-09-13 19:27:55
413
原创 Hive详细表结构操作(增加列,删除列,修改列,移动列)
Hive详细表结构操作(增加列,删除列,修改列,移动列)1、向Hive表中添加某个字段格式:alter table 表名 add columns (字段名 字段类型 comment '字段描述');例1:alter table table_name add columns (now_time string comment '当前时间');例2:alter table table_name add columns (now_time varchar(300) comment '当前时间');2、在
2021-09-02 11:11:35
5989
原创 python启动小server
python 3 小server启动方式python3 -m http.server 8888python3 -m http.server 8888 &nohup python3 -m http.server 8888 &python2 小server启动方式python -m SimpleHTTPServer 8888python -m SimpleHTTPServer 8888 &nohup python -m SimpleHTTPServer 8000 &
2021-08-20 17:15:22
571
原创 Spark提交命令和参数调优
参数意义和参考值:1.num-executors 线程数:一般设置在50-100之间,必须设置,不然默认启动的executor非常少,不能充分利用集群资源,运行速度慢2.executor-memory 线程内存:参考值4g-8g,num-executor乘以executor-memory不能超过队列最大内存,申请的资源最好不要超过最大内存的1/3-1/23.executor-cores 线程CPU core数量:core越多,task线程就能快速的分配,参考值2-4,num-execu.
2020-05-29 16:35:45
444
原创 稍微整理一下 scala中的:: , +:, :+, :::, +++, 等操作
面试老是会问一些简单的操作 总是不会 总结一下package test/** * scala中的:: , +:, :+, :::, +++, 等操作; */object listTest { def main(args: Array[String]): Unit = { val list = List(1,2,3) // :: 用于的是向队列的头部追加数据,产生新的列表, x::list,x就会添加到list的头部 println(4 :: list) //输出
2020-05-12 16:16:47
283
原创 数据仓库之拉链表,流水表,全量表,增量表
全量表:每天的所有的最新状态的数据,增量表:每天的新增数据,增量数据是上次导出之后的新数据。拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录而已,通过拉链表可以很方便的还原出拉链时点的客户记录。流水表: 对于表的每一个修改都会记录,可以用于反映实际记录的变更。拉链表通常是对账户信息的历史变动进行处理保留的...
2020-04-14 18:04:48
1005
原创 spark设置日志输出级别
Spark 通过 spark-submit 设置日志级别(对我好像没有起作用但是记录一下吧)这里的log4j配置可以是 log4j.properties 或者 log4j.xml ,没有限制spark-submit --conf "spark.driver.extraJavaOptions=-Dlog4j.configuration=file:log4j.properties"配置示例...
2020-04-14 10:38:38
1613
原创 用hive命令行动态往分区表里插入数据
set hive.exec.dynamic.partition=true; -- 打开动态分区sethive.exec.max.dynamic.partitions.pernode=1000;set hive.exec.dynamic.partition.mode=nonstrict;-- 设置为非严格模式这个跟第一个是必须的insert overwrite table app_bigdat...
2020-04-14 10:38:08
1163
1
原创 doris 部署总结
最近调研doris 吧一些安装和部署的细节做一下记录吧 以后可以用:首先是安装 建议用docker 11的版本在Linus安装一直都有问题 在docker就可以成功安装:具体步骤:1. pull doris dev docker imagesudo docker pull apachedoris/doris-dev:build-env-1.1 2. dowload doris-0.1...
2020-04-14 10:37:45
3284
原创 学习怎么Hive表导出成csv文件
命令hive -e "set hive.cli.print.header=true; -- 将表头输出 select * from data_table where some_query_conditions" | sed 's/[\t]/,/g' > ttt.csvset hive.cli.print.header=true将表头输出;sed ‘s/[\t]/,/g’ ...
2020-04-14 10:37:28
640
转载 如何限制Spark作业失败的重试次数?
前言最近有个spark程序因为资源不足以及其他原因会在第一次提交时候失败,然后又会不断提交,导致过多的系统资源被无效占用。因此想限制Spark作业失败的重试次数,如果第一次失败,就让作业直接失败,那么该具体该如何实现呢?解决方法首先查看了spark的属性配置,发现我们使用spark.yarn.maxAppAttempts属性在提交程序时限制其重试次数,如:spark-submit --...
2020-01-11 14:13:37
2362
原创 hive小文件处理方法
hive方法处理set hive.merge.mapfiles=true; -- map only job 结束是合并小文件set hive.merge.mapredfiles=true; -- 合并reduce输出的小文件set hive.merge.smallfiles.avgsize=256000000; -- 当输出文件平均大小小于该值,启动新job合并文件set hive.mer...
2019-12-20 10:41:51
690
原创 安装pyspark
pip install pyspark 太慢切换镜像源pypi 镜像使用帮助pypi 镜像每 5 分钟同步一次。临时使用pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package注意,simple 不能少, 是 https 而不是 http设为默认升级 pip 到最新的版本 (>=10.0...
2019-08-11 00:15:25
2314
原创 hive拆分json数组取出各个值的第二层
select id,secondLevel item,indexValue scorefrom (select id,split(regexp_replace(regexp_extract(detail,'^\\[(.+)\\]$',1),'\\}]}\\,\\{', '\\}]}\\|\\|\\{'),'\\|\\|') as L1select * from datatable....
2019-08-10 11:33:18
2281
转载 Hive Hive性能调优总结
一、Fetch抓取1、理论分析Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台。在hive-default.xml.template文件中hive.fetch.task.conversion默认是mo...
2019-05-30 20:32:43
416
转载 Impala中的invalidate metadata和refresh
前言Impala采用了比较奇葩的多个impalad同时提供服务的方式,并且它会由catalogd缓存全部元数据,再通过statestored完成每一次的元数据的更新到impalad节点上,Impala集群会缓存全部的元数据,这种缓存机制就导致通过其他手段更新元数据或者数据对于Impala是无感知的,例如通过hive建表,直接拷贝新的数据到HDFS上等,Impala提供了两种机制来实现元数据的更...
2019-03-13 15:14:04
492
转载 HDFS文件误删除之恢复
启动HDFS的垃圾回收站为了防止误删,一般默认是关闭的,需要我们自己配置文件打开。修改core-site.xml <property> <name>fs.trash.interval</name> <value>1440</value> ...
2019-03-13 11:24:37
992
原创 python环境安装 hive支持步骤
sudo yum install gcc gcc-c++ python-virtualenv cyrus-sasl-develpip install pyhivepip install thriftpip install saslpip install thrift-sasl
2019-02-21 16:35:23
1400
原创 linux查找文件中含某字符串的行数
查看某个文件中包含某个字符串的行数 sudo find analytics_2019-02-13.csv.51 | xargs cat | grep .*bookorder.* |wc -l 例子说明:统计含"bookorder"字符串的总行数查看某个文件中不包含某个字符串的行数find analytics_2019-02-13.csv.51 | xargs cat | grep ...
2019-02-14 14:56:50
6800
原创 比较大的文件 不想删除文件 只是想清空文件内容 怎么做
方法有三种第一种:cp /dev/null nohup.out 有时候 cp要用\cp 因为cp 是cp -i 的缩写 \ 作用也是取消cp的别名。第二种:cat /dev/null > nohup.out第三种 :>nohup.out #相当于echo ‘’ >nohup.out...
2019-01-29 15:35:42
1138
原创 vim 中如何在每行行首或行尾插入指定字符串
操作语法:行首 :%s/^/your_word/行尾 :%s/$/your_word/按键操作:注释:ctrl+v 进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如”#”,再按Esc,就会全部注释了。删除:先按v,进入visual模式,横向选中列的个数(如”#”注释符号,需要选中两列),再按Esc,再按ctrl+v 进入列编辑模式...
2019-01-21 17:52:34
2594
原创 MySQLdb库和pymysql库的区别
MySQLdb只支持Python2.,还不支持3.可以用PyMySQL代替。安装方法:pip install PyMySQL然后在需要的项目中,把 init.py中添加两行:import pymysqlpymysql.install_as_MySQLdb()就可以用 import MySQLdb了。其他的方法与MySQLdb一样。...
2019-01-21 17:49:05
4759
4
原创 centos pip install mysqldb
pip install mysqldb今天安装mysqldb各种出错总结一下 使他们的依赖没有完全搞清楚,所以特此记录一下mysql is needmysql-devel is needgcc is needpython-devel is needsosudo rpm -Uvh http://dev.mysql.com/get/mysql-community-release...
2019-01-08 15:18:46
1028
1
转载 Java不写文件,LOAD DATA LOCAL INFILE大批量导入数据到MySQL的实现
MySQL使用load data local infile 从文件中导入数据比insert语句要快,MySQL文档上说要快20倍左右。但是这个方法有个缺点,就是导入数据之前,必须要有文件,也就是说从文件中导入。这样就需要去写文件,以及文件删除等维护。某些情况下,比如数据源并发的话,还会出现写文件并发问题,很难处理。那么有没有什么办法,可以达到同样的效率,直接从内存(IO流中)中导入数据,而...
2018-12-26 19:33:26
1150
原创 hadoopwordcount 异常错误总结
Exception in thread “main” java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Wiwindows 电脑解决办法找到对应hadoop org.apache.hadoop.io.nativeio.NativeIO 这个文件 按照原来的包名拷贝到项目中把文件此处修改为return t...
2018-10-15 15:19:08
1527
原创 hadoop3集群搭建详解(自身总结)
hadoop3确定集群所需要的机器 ,我由于机器限制 只有三台机器,一般的数据节点至少要有三个副本 由于机器限制我这里就用了两个副本了(我这里hadoop01是主节点)hadoop01hadoop02hadoop03三台服务器服务器环境搭建hadoop3 需要的java环境必须在1.8 以上hadoop3.0.0.1.tar.gz 项目文件下载解压解压后需要多件几个文件夹在...
2018-10-09 16:31:07
1232
转载 修改CentOS默认yum源为国内yum镜像源
有时候CentOS默认的yum源不一定是国内镜像,导致yum在线安装及更新速度不是很理想。这时候需要将yum源设置为国内镜像站点。国内主要开源的开源镜像站点应该是网易和阿里云了。修改CentOS默认yum源为mirrors.163.com1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo[root@localhost ~]# mv /etc...
2018-09-29 15:32:27
3506
原创 kindle只显示电池加感叹号,该怎么办呢 !
kindle 很久没用了 ,想用的时候只显示电池感叹号了 ,不知所措的我赶紧百度了一下。 对着插孔呼几下热气就好了 再连数据线几秒就出现小人树啦 可能是因为放置久了 电充不进去吧...
2018-09-13 11:48:04
27907
原创 pyspark 链接数据库 前提
前提:配置文件/etc/spark/conf/spark-env.sh添加export SPARK_CLASSPATH=$SPARK_CLASSPATH:/opt/mysql-connector-java/mysql-connector-java-5.1.40-bin.jar这样的配置有时报错:WARN spark.SparkConf: Setting 'spark.executo...
2018-08-15 16:07:14
645
原创 怎么在centos上安装 automake and autoconf
首先: 检查你要安装包:yum whatprovides autoconf automake然后安装对应的包就可以了。yum install xxxx
2018-08-03 16:51:42
14034
原创 pandas df 遍历方法晓述
pandas 遍历有以下三种访法。 性能如下 .iterrows():在单独的变量中返回索引和行项目,但显着较慢 .itertuples():快于.iterrows(),但将索引与行项目一起返回,ir [0]是索引 zip:最快,但不能访问该行的索引用法如下:t = pd.DataFrame({'a': range(0, 10000), 'b': range(10000, 20...
2018-07-31 08:06:42
7361
原创 pandas to_sql 浅析
pandas to_sql 官方解释方法应用 to_sql(name, con, flavor=None, schema=None, if_exists=’fail’, index=True, index_label=None, chunksize=None, dtype=None)这里的con 跟 read_sql con 是不同的这里con是这样的格式from sql...
2018-07-30 16:21:51
5491
原创 kotlin 学习 之 一些常见用法
When表达式 加强版的switch,支持任意类型 支持纯表达式条件分支(类似于if) 表达是必须得完整fun main(args: Array<String>) { val x = 5 when(x){ //是否是int is Int -> println("hello $x") //是在区间范...
2018-07-12 11:20:36
551
原创 win10 装了 mysql 后 重启电脑后 mysql服务找不到了的解决方法
为了自己在本地用mysql,就在自己的PC上安装了mysql服务,后来电脑重启了,临时需要连接一下本地数据库的,竟然怎么也连不上,去windows服务列表一看,发现l找不到mysql服务,也就开不来mysql服务了,当然也就不能连接数据库了。发现了问题所在,果断寻找解决方案:第一步:win + x 快捷键 选择以管理身份开启powershell 或则 以管理身份开启命令提示符 第二...
2018-07-09 16:17:25
3855
1
securecrt_linux_crack.pl
2015-12-01
pdfBox jar包集合
2015-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人