- 博客(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
12383
1
原创 如何用vscode替代xshell
公司管理日益严格,xshell收费也不含糊,所以只能找free的替代方案了,但是试了很多工具,都不是那么流畅或方便,另外如果用vscode来做开发,来回的切换工具也非常麻烦,vscode自带的terminal越来越方便,最新版本已经可以将terminal拖动到编辑区,所以能不能用vscode来替代xshell呢。答案肯定是可以的,经过一顿ssh命令操作,和插件尝试,我终于找到了个比较好的配置方案,以后可以直接用vscode来登录不同主机,实现shell上的操作啦。首先,要找到QUICKSSH这个插件
2022-04-16 12:33:27
2155
原创 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
2294
原创 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
2613
1
原创 spark DataFrame 根据条件替换数据中的值,并保留非条件的原始值
otherwise子句不但能接收固定的值,还可以接收原来的列,保留列中原始的数据。如下:dataF.withColumn(“newColumnName”,when(col(“columnName”).isNull,0).otherwise(col(“columnName”))).show(false)
2022-02-16 16:53:30
2035
原创 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
4391
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
1996
原创 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
2593
原创 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
3160
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
4708
原创 解决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
2318
原创 解决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
1324
原创 用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
4376
原创 LTR 插件使用笔记
LTR 插件使用1、初始化默认的特征仓库一个特征仓库就是一个es的索引,可以存储特征和模型的元数据。默认的特征仓库,就是 PUT _ltr DELETE _ltr2、特征和特征集合...
2019-03-27 22:15:31
1292
原创 LTRChain多模型查询
LTRChain多模型查询文档中的原文:Chaining multiple rescores, perhaps with increasingly sophisticated models可以进行多个模型的联合查询#利用多模型查询POST tmdb/_search{ "query": { "query_string": { "query": "rambo" ...
2018-10-09 14:01:35
199
原创 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;quot;query&amp;quot;: { &amp;quot;functi...
2018-10-09 11:27:49
1793
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
1541
1
(分布式多智能体系统的协作控制)Cooperative Control of Distributed Multi_Agent Systems
2010-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人