Spark Ignite踩坑记录
Ignite spark 踩坑记录
简述
ignite访问数据有两种模式:
- Thin Jdbc模式;
- Jdbc 模式和Ignite client模式;
- shell客户端输出问题,不能输出全列;
针对上述三个问题,我们一一说明一下
详述
Thin Jdbc
瘦客户端的模式是官网介绍的模式,这种模式类似关系型数据库jdbc的访问模式,有两个参数
- ignite.jdbc.distributedJoins 启用分布式join的开关
- ignite.jdbc.enforceJoinOrder 在查询中强制表join顺序的开关
这两个开关默认都是false,如需开启在URL中添加参数直接指定即可,这部分基本没什么好说的
注意:schema大小写不敏感
Jdbc client
这种方式区别于瘦客户端,我们姑且叫他胖客户端吧,最开始ignite有直接JDBC的模式,但这种方式现在已经废弃了,现在IgniteJdbcDriver这个类提供的其实就ignite client的这种访问模式,里面可以指定多个参数,包含cache、local等,大家看下这个类的源码,在类的注释部分有说明。
这种方式会在ignite集群的topo结构中看出连接集群的client节点。
但我要说的是,这个中方式最后会拼接出一个h2的链接,坑的是这个h2的链接中会包含一个h2都解析不了的参数,导致链接报错,报错的第一个参数是MULTIPLE_THREAD,还把这个URL申明成final的,导致调试的时候都不能手动指定value,坑啊,后面参数不知道还有没有未知参数,得改改ignite的源码了;
连接超时
这个问题更坑,客户端模式去连接集群时,会有个达到超时的时间,但这个设置是写死在程序里的,不可配置的,在win下连接集群的话,我们的环境通常2s是连不上的,下面是类和我在我本地做的链接测试:
所用的时间:
这个用起来让人感觉十分难受,要不就修改源码,把这个时间改大点,要不就每次程序走到这,断点,然后去给这个变量在线程中去set value,难受。
ignite shell 客户端
在使用ignite shell客户端时,如果列数比较多的话,直接给把后面的列显示给切断了,如果刚好切成了整列,你还以为导数的时候后面的列没导进去,产生错觉,难受;
与spark集成
这段时间一直在做ignite 与spark的集成测试,找了好几个数据集,也按照官网的方式试了几种方式,但没有出现性能提升,这个原因可能是我spark集群和ignite集群没有完全安装在相同的服务器导致的,也可能是ignite的原因,这个还需要再进行定位。
最后
Ignite这个组件虽然是Java写的,但是官网的介绍很简略,只是说明的了下,怎么操作,怎么配置,对其存储的原理,里面的设计细节以及实现并没有详细的说明,而且网上的资料很少,遇到问题只能是追代码、看源码,不想Hadoop、spark这种组件我对起里面的存储、计算的实现也是清晰的,用起来感觉有点别扭;而且和spark这种明星组件集成,可以官方给出个性能的测试的,现在大数据环境都有基准的测试包,从2018年提供了这种集成能力之后,再也没有关于这部分的更新,spark版本只支持2.3、2.4,在ignite3.0(开发)中会对spark3.0有支持,希望到时候能有个官方的测试说明吧,完毕。
Spark Ignite踩坑记录的更多相关文章
- unionId突然不能获取的踩坑记录
昨天(2016-2-2日),突然发现系统的一个微信接口使用不了了.后来经查发现,是在网页授权获取用户基本信息的时候,unionid获取失败导致的. 在网页授权获取用户基本信息的介绍中(http://m ...
- CentOS7.4安装MySQL踩坑记录
CentOS7.4安装MySQL踩坑记录 time: 2018.3.19 CentOS7.4安装MySQL时网上的文档虽然多但是不靠谱的也多, 可能因为版本与时间的问题, 所以记录下自己踩坑的过程, ...
- ubuntu 下安装docker 踩坑记录
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...
- SpringBoot + Shiro + shiro.ini 的踩坑记录
0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- google nmt 实验踩坑记录
最近因为要做一个title压缩的任务,所以调研了一些text summary的方法. text summary 一般分为抽取式和生成式两种.前者一般是从原始的文本中抽取出重要的word o ...
- ABP框架踩坑记录
ABP框架踩坑记录 ASP.NET Boilerplate是一个专用于现代Web应用程序的通用应用程序框架. 它使用了你已经熟悉的工具,并根据它们实现最佳实践. 文章目录 使用MySQL 配置User ...
- SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录
Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...
- IDFA踩坑记录
IDFA踩坑记录: 1.iOS10.0 以下,即使打开“限制广告跟踪”,依然可以读取idfa: 2.打开“限制广告跟踪”,然后再关闭“限制广告跟踪”,idfa会改变: 3.越狱机器安装开发证书打的包, ...
随机推荐
- PO封装设计模式 -- App移动端测试
前言: 一.App_Po 封装 (用互联网上随便一个app进行) base 存放的是页面基础类,后续的类需继承基础类 common 存放的是公共部分,测试固件分离部分,新增截图功能部分 Data 存放 ...
- 【每日算法】存在重复元素 II
题目描述 这是 LeetCode 上的 219. 存在重复元素 II, 难度为 [简单] 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nu ...
- 每天五分钟Go - 闭包
闭包的示例代码 func getSequence() func() int{ i:=0 return func() int { i+=1 return i } } 首先,函数名getSequence, ...
- POJ3048
素数筛,数据范围不大,直接暴力筛. 坑:有个数据是 1 1,答案是1.差点没把我卡去世. 我的三观哪去了. #include<iostream> #include<cstdio> ...
- vue、gulp、webpack踩过的坑和笔记
1.监听流错误 stream-combiner2 2.热更新Browsersync与element冲突,换成gulp-connect 3.gulp-uglify压缩js不能压缩es6 4.使用vue- ...
- GhostScript 沙箱绕过(命令执行)漏洞(CVE-2018-16509)
影响范围: Ghostscript 9.24之前版本 poc地址 https://github.com/vulhub/vulhub/blob/master/ghostscript/CVE-2018-1 ...
- 论文笔记:(2017NIPS)DeepSets
目录 摘要 一.引言 二.置换不变性和等变性 2.1 问题定义 2.2 结构 2.3 相关结果 三.Deep Sets 3.1 架构 3.2 其他相关工作 四.应用和实验结果 4.1 设置输入标量响应 ...
- 卷向字节码-Java异常到底是怎么被处理的?
你好呀,我是why,你也可以叫我歪歪. 比如下面这位读者: 他是看了我<神了!异常信息突然就没了?>这篇文章后产生的疑问. 既然是看了我的文章带来的进一步思考,恰巧呢,我又刚好知道. 虽然 ...
- C++ //纯虚函数和抽象类 // 语法 virtual 返回值类型 函数名 (参数列表)=0 //当类中有了纯虚函数 这个类也称为抽象类
1 //纯虚函数和抽象类 2 // 语法 virtual 返回值类型 函数名 (参数列表)=0 3 //当类中有了纯虚函数 这个类也称为抽象类 4 5 6 #include <iostream& ...
- gRPC学习之二:GO的gRPC开发环境准备
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos gRPC学习系列文章链接 在CentOS7部署和设置G ...