大数据
xiedelong
这个作者很懒,什么都没留下…
展开
-
spark内存溢出解决方案
背景使用 pyspark 跑数据的时候,如果 dt 分区过多数据量过大,或者公司集群有内存、时长限制,会导致 job 提前结束解决方案先定义 spark 脚本#!/usr/bin/python# -*-coding:utf-8 -*-import datetimefrom pyspark.sql import SparkSessionimport sysspark = SparkSession \ .builder \ .enableHiveSupport() \原创 2021-09-28 17:30:35 · 689 阅读 · 0 评论 -
Flink checkpoint failed 问题解决
参考链接https://www.shuzhiduo.com/A/QW5Yv6P3dm/https://blog.csdn.net/lxhandlbb/article/details/90668040https://blog.csdn.net/zc19921215/article/details/107051883问题发现:通过 Flink UI 查看,checkpoint 总是失败Flink UI 里的每一项具体含义见:https://ci.apache.org/projects/flink/f原创 2021-08-18 18:00:23 · 5653 阅读 · 0 评论 -
查找 tcp 大量 ESTABLISHED 的进程
sudo netstat -antlpcd /proc/PIDcd pid(对应的pid进程号)找到对应的程序原创 2021-08-02 11:39:08 · 505 阅读 · 0 评论 -
Linux 释放 swap
sudo swapoff -a 等待一段时间,等空间释放swapon -afree -m 查看 swap 情况原创 2021-06-10 15:38:45 · 257 阅读 · 0 评论 -
hive 指定位置增加一列
-- 选择数据库use db;-- 增加一列alter table xxx add columns (user_name string);-- 将增加的列放到某一列后面alter table xxx change column user_name user_name string after user_id;-- 将增加的列放到第一列位置alter table xxx change column user_name user_name string first;...原创 2021-04-20 16:21:40 · 3445 阅读 · 0 评论 -
spark 高级语法总结
# pandas 和 pyspark dataframe 互换# pandas 里的每一列里的所有元素必须是同一种 type 类型才可转换spark_df = spark.createDataFrame(pandas_df)pandas_df = spark_df.toPandas()# 保存分区表(覆盖 & 追加)df.write.saveAsTable("db.table", mode="overwrite", partitionBy=['dt'])df.write.saveAs.原创 2021-03-29 11:04:53 · 786 阅读 · 0 评论 -
pyspark orderBy drop_uplicates 保留第一条数据
# 这样无法保留第一个数据user_df = user_df.orderBy("dt", ascending=False).drop_duplicates(subset=["username"])# 需要这样使用,dt 倒排,只保存第一个rank_window = Window.partitionBy("username").orderBy(F.col("dt").desc())user_df = user_df.withColumn('rank', F.rank().over(rank_wind原创 2021-03-02 17:58:35 · 582 阅读 · 0 评论 -
sql 解析 json 去除字符串
json_extract_scalar原创 2020-04-30 11:26:10 · 582 阅读 · 0 评论 -
jupyter 显示
from IPython.core.interactiveshell import InteractiveShellInteractiveShell.ast_node_interactivity = "all"import pandas as pd# 显示所有列(参数设置为None代表显示所有行,也可以自行设置数字)pd.set_option('display.max_columns',...原创 2020-04-29 16:14:12 · 398 阅读 · 0 评论 -
presto、hive、dataframe、pyspark时间转换函数
str 时间 转 datecast(substr(‘2020-03-16 18:48:09’, 1, 10) as date) as d结果:2020-03-16str 转 timestampdate_parse(‘2020-03-16 18:48:09’, ‘%Y-%m-%d %T’) as d结果:1584355711000,毫秒多三个000str 转 date 并相减...原创 2020-04-09 15:51:13 · 3136 阅读 · 0 评论 -
服务器 配置 Jupyter notebook 远程访问
配置jupyter notebook远程登录远程服务器,生成配置文件jupyter notebook --generate-config生成密码 , 进入 python,注意这里需要把生成的密文复制下来,这里后面需要用到.from notebook.auth import passwdpasswd()Enter password:Verify password:Out...原创 2020-04-04 17:18:03 · 289 阅读 · 0 评论 -
大数据开发基础知识整理1
Datanode负责 HDFS 数据存储。HDfS 中的 block 默认保存3份。Jobtracker通常与 NameNode 在一个节点启动。HDFS 默认 Block Size为64MB或128MB集群的最主要瓶颈是磁盘 IOSecondaryNameNode 的作用是帮助 NameNode 合并编辑日志,减少 NameNode 启动时间Puppet 、Pdsh 、Zook...原创 2018-05-11 09:13:47 · 1244 阅读 · 0 评论 -
大数据开发1--MapReduce计算框架
一、MapReduce实现原理MapReduce1.x架构Job:用户的每一个计算请求,称为一个作业。JobTracker:负责接收用户提交的作业,负责启动、跟踪任务执行。 作为作业的管理者,它将作业分解成很多Task并分派给TaskTracker进行运行,Task包含MapTask和ReduceTask。 它还需要完成作业的监控以及容错处理(task作业挂掉了,会...原创 2018-05-11 00:01:14 · 492 阅读 · 0 评论 -
数据库引擎比较详解--MyISAM与InnoDB
MyISAM:1.MyISAM索引(非聚集索引):MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。索引和数据是分开的,并且索引是有压缩的。这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意。可以看出MyISAM的索引文件仅仅保存数据记录的地址。在MyISAM中,主索引和辅助索引(Secondary...原创 2018-04-12 00:13:11 · 344 阅读 · 0 评论 -
数据库详解
触发器的一些常见用途。1.保证数据一致。例如,在INSERT或UPDATE操作中将所有州名转换为大写。3.基于某个表的变动在其他表上执行活动。例如,每当更新或删除一行时将审计跟踪记录写入某个日志表。3.进行额外的验证并根据需要回退数据。例如,保证某个顾客的可用资金不超限定,如果已经超出,则阻塞插入。4.计算计算列的值或更新时间戳索引的作用?和它的优点缺点是什么?索引就一种特殊的查询表,数据库的搜索...原创 2018-04-11 16:26:38 · 338 阅读 · 0 评论 -
StringTokenizer类的使用
StringTokenizer介绍StringTokenizer是一个用来分隔String的应用类,相当于split函数。属于java.util包。1.构造函数//构造一个用来解析str的StringTokenizer对象。public StringTokenizer(String str)//构造一个用来解析str的StringTokenizer对象,并提供一个指定的分隔符...原创 2018-05-02 21:28:22 · 172 阅读 · 0 评论