自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 Spark SQL 日期和时间戳函数

Spark SQL 提供了内置的标准 Date 和 Timestamp函数,定义在 DataFrame API 中,所有函数都接受输入日期类型、时间戳类型或字符串。如果是String,是可以转换成日期格式,比如 或 ,分别返回date和timestamp;如果输入数据是无法转换为日期和时间戳的字符串,也返回 null。尽可能尝试利用标准库,因为与Spark UDF相比,它们在编译时更安全、可以处理 null 并且性能更好。为了便于阅读,将 Date 和 Timestamp 函数分为以下几组。在使用以下任何示

2022-06-30 17:33:42 11457 1

原创 如何用vscode替代xshell

公司管理日益严格,xshell收费也不含糊,所以只能找free的替代方案了,但是试了很多工具,都不是那么流畅或方便,另外如果用vscode来做开发,来回的切换工具也非常麻烦,vscode自带的terminal越来越方便,最新版本已经可以将terminal拖动到编辑区,所以能不能用vscode来替代xshell呢。答案肯定是可以的,经过一顿ssh命令操作,和插件尝试,我终于找到了个比较好的配置方案,以后可以直接用vscode来登录不同主机,实现shell上的操作啦。首先,要找到QUICKSSH这个插件

2022-04-16 12:33:27 2047

原创 kylin4.0在CDH6.3.2及Hadoop3.0环境部署避坑

将kylin4.0部署在CDH6.3.2环境的某个节点上,当启动Kylin后,kylin会自动查找CDH的hadoop环境,并将其需要的配置文件等同步到hadoop_conf目录下。这时用kylin自带的spark下载工具进行spark下载,下载后spark的jars包里会有一组与CDH匹配的jar包看起来没有问题,但是在执行cube构建时,发现会报错:Exception in thread "main" java.lang.ExceptionInInitializerError at org.ap

2022-04-16 12:10:57 2253

原创 scala.util.parsing.json.JSON.parseFull导致的spark任务无法完成的问题

在6台机器的CDH上处理1.5亿条数据时 ,发现经常出现大部分task完成后,只有几个task一直执行的情况,开始以为是数据发生了倾斜,经过加盐、repartition等操作都无法解决。且系统日志没有报错后来以为可能是hive写入过慢,尝试转成文件存储到hdfs再导入外部表,发现有时仍然存在超长时间执行,且文件根本没有写入的问题。最后分析sparkUI 当前任务执行的SQL状态,发现查询执行在某个map中应该已经完成的JSON解析位置,该位置利用scala.util.parsing.json.JSON.

2022-03-02 16:16:01 2566

原创 spark DataFrame 根据条件替换数据中的值,并保留非条件的原始值

otherwise子句不但能接收固定的值,还可以接收原来的列,保留列中原始的数据。如下:dataF.withColumn(“newColumnName”,when(col(“columnName”).isNull,0).otherwise(col(“columnName”))).show(false)

2022-02-16 16:53:30 1923

原创 yum安装python-devel centos7显示:没有可用软件包

尝试了很多python-dev python3-devel …名字,均没有可用的包,最后替换了下repo,再安装就好使了,替换的源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

2022-01-28 15:14:44 4190 1

原创 spark sql select中传入可变参数列,并拆解动态Map列

spark sql select中传入可变参数列,并拆解动态数组列记录下对某个数组列进行拆解时,如何动态传入可变的参数问题原来的静态写入形式: val resultAllDF = resultDF.select( col("wCycle").getItem("starttime").as("starttime"), col("wCycle").getItem("endtime").as("endtime"), col("wCycle").getItem("level

2022-01-21 17:08:57 1931

原创 spark 读取clickhouse 非数值型字段并行分区设置

spark 读取clickhouse 非数值型字段并行分区设置spark jdbc读取clickhousespark jdbc读取clickhouse用spark采用jdbc读取clickhouse,mysql等数据库时,可以根据Long型设置分区字段,如下: def jdbc( url: String, table: String, columnName: String, # 根据该字段分区,需要为整形,比如id等 lowerBound: Long, # 分区的下界

2022-01-21 16:46:07 2538

原创 spark离线批处理写入kafka调优

采用老版本spark(1.6)在离线批处理环境下,将DataFrame快速写入kafka,通常可以查到的大部分都是针对Spark-Streaming进行Kafka写入的说明,但是在离线批处理环境下,也希望将批量计算的DataFrame中的数据直接写入到某个topic中,在spark2.0以上,可以直接采用spark-streaming的写入方式,只要用read 代替 resdStream 和用 write代替 writeStream 即可。例如,引入以下同步kafka的包<dependency

2020-09-10 12:03:29 2955 1

原创 VScode 用socks5进行远程连接

Vscode不支持socks5代理,但是可以用remote-ssh+nc(ncat)来进行socks5代理连接,步骤如下:1、windows下的nc只有1.X版本,没有-X -x的参数(Ubuntu下的有,但是无法在windows下用),因此需要用ncat来代替。首先下载ncat2、在ssh/config中配置代理:Host 00(sockTest) HostName IP地址 User root Port 22 ProxyCommand c://ncat --proxy-type s

2020-07-22 10:36:26 4525

原创 解决VScode 中用restful向ES中批量写入数据时,提示 “The bulk request must be terminated by a newline [\n]“

通常用的head都是:@head =content-type: application/json应用bulk进行写入时,要替换成:@head_bulk =Content-Type: application/x-ndjson例如:PUT http://49.235.228.196:9211/news/_bulk{{head_bulk}}{"index":{"_index":"news"}}{"author":"John Michael","published":"2018-07-08","tit

2020-07-15 10:39:34 2280

原创 解决VScode运行Storm的log4j cp65001问题

用Vscode本地运行 Storm任务时,会出现下面的错误提示:main ERROR Unable to inject fields into builder class for plugin type class org.apache.logging.log4j.core.appender.ConsoleAppender, element Console. java.nio.charset.UnsupportedCharsetException: cp65001从而无法显示正常的日志输出。解决办法,

2020-07-07 11:16:33 1278

原创 用ZK UI解决storm 读取Kafka时的Fetch offset *** is out of range for topic , resetting offset

可以用ZK UI 读取ToPology信息,然后更新offset值,如果为Null,可建一个假的,但是要保证kafka里有这个offset的数据。然后重启topology即可。

2019-07-31 18:45:54 4313

原创 LTR 插件使用笔记

LTR 插件使用1、初始化默认的特征仓库一个特征仓库就是一个es的索引,可以存储特征和模型的元数据。默认的特征仓库,就是 PUT _ltr DELETE _ltr2、特征和特征集合...

2019-03-27 22:15:31 1256

原创 LTRChain多模型查询

LTRChain多模型查询文档中的原文:Chaining multiple rescores, perhaps with increasingly sophisticated models可以进行多个模型的联合查询#利用多模型查询POST tmdb/_search{ "query": { "query_string": { "query": "rambo" ...

2018-10-09 14:01:35 188

原创 ES6.1.2 +LTR 常用DSL

ES6.1.2 +LTR 常用DSLhttps://elasticsearch-learning-to-rank.readthedocs.io/LTR插件中用的DSL是老的版本,新版本很多内容都改变了,新版本特征集构建部分应改为以下形式,在es6.1.2上测试成功。function 返回某一列GET tmdb/movie/_search{ &amp;amp;quot;query&amp;amp;quot;: { &amp;amp;quot;functi...

2018-10-09 11:27:49 1773 1

原创 Breeze矩阵和数组之间的转换

breeze的数组和矩阵非常好用,不会像scala原生的数组矩阵那样操作复杂,两者之间的转换也非常方便,需要注意的是breeze矩阵转回数组时是按列输出的。//array to DenseMatrix and back val db = Array((1.0, 2.0, 2.1), (2.0, 3.0, 0.0), (4.5, 5.6, 7.2))val dm2 = DenseMat...

2018-05-28 16:28:42 1526 1

原创 不断提高自己的学习能力

不断提高自己的学习能力!

2012-05-07 09:22:22 195

(分布式多智能体系统的协作控制)Cooperative Control of Distributed Multi_Agent Systems

一本分布式的matlab程序实现英文原版书籍

2010-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除