- 博客(257)
- 收藏
- 关注
原创 Hive窗口分析函数
https://blog.csdn.net/guohecang/article/details/51582242http://blog.itpub.net/22207394/viewspace-1154123/https://blog.csdn.net/guohecang/article/details/51582242一、窗口函数简介:目录一、窗口函数简介:二、窗口函数示...
2019-04-04 15:12:24 1290
转载 六大方法论完成用户分析
用户研究是用户中心的设计流程中的第一步。它是一种理解用户,将他们的目标、需求与商业宗旨相匹配的理想方法,能够帮助企业定义产品的目标用户群。在用户研究过程中,数据的使用及挖掘是非常重要的。那么,有哪些通用的用户分析方法?如何分析你的用户?本篇重点围绕七大用户分析方法论/模型,展开分享几个比较常见的用户运营实际案例。六大用户分析方法论1、行为事件分析2、点击分析模型3、用户行为路径分析...
2019-04-04 14:50:17 559
原创 大数据调优总结
目 录12.1配置原则如何发挥集群最佳性能影响性能的因素12.2Manager12.2.1提升Manager配置服务参数的效率12.2.2根据集群节点数优化Manager配置12.3HBase12.3.1提升BulkLoad效率12.3.2提升连续put场景性能12.3.3Put和Scan性能综合调优12.3.4提升实时写数据效率1...
2019-04-01 09:50:55 2220
原创 Hive之行转列-合并多列-列转行
行转列:collect_list(不去重) collect_set(去重)它们都是将分组中的某列转为一个数组返回,不同的是collect_list不去重而collect_set去重concat_ws(',',collect_set(column))做简单的实验加深理解,创建一张实验用表,存放用户每天点播视频的记录: 1 2 3 4 5...
2019-03-28 09:21:33 13432
原创 pickle demo
该pickle模块实现了二进制协议,用于对Python对象结构进行序列化和反序列化Pickling是将Python对象层次结构转换为。序列化指的是将对象的状态信息转化为可以存储或传输的形式的过程。的过程,而 “ unpickling”是逆运算,将字节流(来自二进制文件或类似字节的对象)转换回对象层次结构的过程。dumps()和loads()与上述的区别:无需读入文件,实现str和数据类型的转化。load(): 将序列化后的数据读出(反序列化)dump(): 将数据序列化到文件中。
2024-04-02 12:04:53 287
原创 Hive 与 Parquet文件Schema类型不一致问题
问题1:Parquet文件Schema与Hive建表Schema不一致导致spark job报错。Hive:DoubleParquet: Long具体报错日志日下:没有在参数层面解决,最终将hive字段改为了 bigint--- 1. 不加参数org.apache.spark.SparkException: Task failed while writing rows.Caused by: com.databricks.sql.io.FileReadException: Error w
2022-04-12 10:58:08 4218
原创 postgres创建分区表
-- public.table_name_XXX definition-- Drop table-- DROP TABLE public.table_name_XXX;CREATE TABLE public.table_name_XXX ( XXX varchar(10) NULL, dt varchar(10) not NULL )PARTITION BY RANGE (dt);-- public.table_name_XXX_20210901 definition--.
2022-03-10 19:07:26 378
原创 高德地图API
import com.alibaba.fastjson.JSONimport scalaj.http.{Http, HttpResponse}object GaodeTest { def main(args: Array[String]): Unit = { //val location = "117.3720,40.0340" //val location = "116.7353,39.49256" //val location = "116.7353,39.492.
2022-03-09 09:35:08 7748
原创 Java8 对Map(key/value)排序后取TopN
import com.alibaba.fastjson.JSON;import java.util.*;import java.util.stream.Collectors; /** * Hello world! * */public class App { public static void main( String[] args ) { Map<String,Integer> mapRepeat = new HashMap<>(); .
2022-03-04 17:10:59 1322
原创 SparkSQL中自定义聚合(UDAF)函数
用户自定义函数类别分为以下三种:1).UDF:输入一行,返回一个结果(一对一),在上篇案例 使用SparkSQL实现根据ip地址计算归属地二 中实现的自定义函数就是UDF,输入一个十进制的ip地址,返回一个省份2).UDTF:输入一行,返回多行(一对多),在SparkSQL中没有,因为Spark中使用flatMap即可实现这个功能3).UDAF:输入多行,返回一行,这里的A是aggregate,聚合的意思,如果业务复杂,需要自己实现聚合函数下面就来介绍如何自定义UDAF聚合函数以一个实际
2022-01-28 09:58:44 999
原创 sparksql 指定输出的文件名
这是sparksql写入hive表指定输出文件名的自定义方式。版本:spark-2.3.2实现目的在目前的业务需求中,需要实现场景为:当往一个hive表中不断以Append的方式写入数据,需要知道哪些文件是哪一次运行后追加的文件,所以最好的方法是往输出的文件名前添加前缀,如日期,或者调度编号等。但是spark未提供相应参数接口,需要更改一丢丢源码来实现。实现方式只需要更新 org.apache.spark.internal.io.HadoopMapReduceCommitPro
2022-01-24 12:59:17 2204
原创 Spring IOC 理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。孤傲苍狼只为成功找方法,不为失败找借口!谈谈对Spring IOC的理解 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的
2022-01-19 22:38:30 129
原创 Linux中文显示乱码问题解决方法(编码查看及转换)
1,示例图中名为一个.sql文件的一段内容,是一个数据库文件。其在windows中打开显示正常,在Linux中,中文部分显示为乱码。注意:这个与数据库乱码的情况不同,属于文件内容的乱码。2,分析Linux系统与windows系统在编码上有显著的差别。Windows中的文件的格式默认是GBK(gb2312),而Linux系统中文件的格式默认是UTF-8。这两个系统就好比是中国和日本。文件就好比是一个人,如果要在另外的国家居住就要办理居住许可证,使用他国的证件(编码和字符集),否则是不.
2022-01-18 11:39:22 18178 1
原创 DBeaver工具操作快捷键
DBeaver的常用快捷键ctrl + enter 执行sqlctrl + shift + ↑ 向上复制一行ctrl + shift + ↓ 向下复制一行ctrl + shift + F 对sql语句进行格式化,用的最多快捷键ctrl + d 删除当前行alt + ↑ 向上选定一条sql语句,比较常用到alt + ↓ 向下选定一条sql语句,比较常用到ctrl + / 行注释ctrl + shift+ / 块注释ctrl + f 查找、替换ctrl + space sql提示(如果
2022-01-12 16:54:06 8763
原创 hive用temporary table替换with
一、用temporary table替换with的效果 用with从一个宽表中读取了2个字段生成tmb_tb,在后面的查询中两次用到了tmb_tb,执行用时70分钟; 用 temporary table 替代with后(需要把临时表保存到内存中),相同的查询用时50分钟二、with的缺点 with的内容并不会缓存,每用一次就会执行一次。我原本想实现的目标是通过with从宽表中取2个字段生成一个tmp_tb,后面之后直接从tmp_tb中读取这两个字段,但是实际的情况是每从tmp_tb中抽一
2021-12-21 16:00:41 688
原创 Cannot overwrite a path that is also being read from
# sparksql 读写同一张表遇到问题遇到这个问题的解决方案1.设置 spark.sql.hive.convertMetastoreParquet=false或者spark.sql.hive.convertMetastoreOrc=false2.设置checkpiont 阻断血缘,设置目录并设置checkpoint,清理目录spark.cleaner.referenceTracking.cleanCheckpoints=true。3.先插入临时表,再移动到目标表。...
2021-12-20 19:58:26 3952
原创 Spark DataFrame 写入HIve 出现HiveFileFormat`. It doesn‘t match the specified format `ParquetFileFormat`
场景现在有一个需求,解析一个csv文件,然后写入hive已经存在的表中,就出现了这个错org.apache.spark.sql.AnalysisException: The format of the existing table arcsoft_analysis.zz_table is `HiveFileFormat`. It doesn't match the specified format `ParquetFileFormat`.;解析: 如果用命令行创建的hive表,会根...
2021-12-16 15:13:42 1881
原创 spark参数总结
0.Spark Driver SparkSession.builder() .enableHiveSupport() //.appName("pipeline") .config("spark.warehouse.dir", new File("spark-warehouse").getPath) //.config("spark.shuffle.service.enabled", true) // 配合spark.dynamicAllo
2021-12-01 16:47:11 2652
原创 配置文件-Config库
Typesafe的Config库,纯Java写成、零外部依赖、代码精简、功能灵活、API友好。支持Java properties、JSON、JSON超集格式HOCON以及环境变量。public class Configure { private final Config config; public Configure(String confFileName) { config = ConfigFactory.load(confFileName); }
2021-11-25 14:58:22 687
原创 Spark first, last函数的坑
Spark SQL的聚合函数中有first, last函数,从字面意思就是根据分组获取第一条和最后一条记录的值,实际上,只在local模式下,你可以得到满意的答案,但是在生产环境(分布式)时,这个是不能保证的。看源码的解释:/** * Returns the first value of `child` for a group of rows. If the first value of `child` * is `null`, it returns `null` (respecting null
2021-11-19 11:03:35 2384
原创 清除maven仓库update文件
文件名字clean.batset REPOSITORY_PATH=C:\XXX\repositoryrem searching...for /f "delims=" %i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do ( del /s /q %i )rem complited!pause
2021-11-18 11:42:25 579
原创 spark的spark.sql.hive.caseSensitiveInferenceMode参数含义 - INFER_AND_SAVE
本文针对spark的spark.sql.hive.caseSensitiveInferenceMode的参数含义及使用进行梳理、总结1. 参数含义Spark 2.1.1引入了一个新的配置项: spark.sql.hive.caseSensitiveInferenceMode,默认值是NEVER_INFER,保持与spark 2.1.0一致的行为。但是Spark 2.2.0将此配置的默认值更改为INFER_AND_SAVE,以恢复读取底层文件schema中包含大小写混合列名的Hive元存储表的兼容性。使
2021-11-12 16:54:44 807
原创 Spark的Parquet向量化读取原理
起因:测试过程中,发现一个spark的一个参数设置可以带来5倍以上的性能差异参数:spark.sql.parquet.enableVectorizedReaderSQL:SELECT * FROM ad_tetris_dw.ad_insight_record_hourly_test WHERE page_url = "www.chengzijianzhan.com/tetris/page/52202031760/" and date = '20180805' and hour = '08
2021-11-12 12:48:10 1180
原创 HBase 通过“表名”和“列族”获取该列族下的所有数据
/** * 浏览表中某一列(族)的数据。 * 如果该列族有若干列限定符,就列出每个列限定符代表的列的数据; * 如果列名以“columnFamily:column”形式给出,只需列出该列的数据。 * @param tableName 表名 * @param column 列名 */ public static void scanColumn(String tableName, String column) throws IOExc...
2021-10-28 14:47:43 2595 1
原创 Hive数据导出到CSV的方法
1. 使用 insert overwrite local directoryinsert overwrite local directory '/url/lxb/hive'row format delimitedfields terminated by ','select * from table_name limit 1002. 使用 hive 导出结果hive -e "set hive.cli.print.header=true; select * from data_table
2021-10-15 11:27:48 13291 3
原创 MySql运维
1. 查看进程show processlist;2. 查看版本select version()或show variables like '%version%'
2021-09-29 14:15:07 109
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人