大数据可视化
Fang Shuzhi
数据赋能风控
展开
-
logstash中字符串的split,对每个子串进行json解析
最近遇到一个需求,大致是字符串用\t分割,每一个子串都是一个json串,需要用logstash对该字符串进行结构化处理,用于elasticsearch和可视化kibana。 字符串格式如下:{"person":{"age":"11"}} this is the sample该字符串期望分割成两个字段,并对第一个字段进行json解析。最终达到下面的形式:field1:{ field原创 2016-08-16 11:00:53 · 30831 阅读 · 4 评论 -
【kibana源码解析】之启动脚本
@echo offSETLOCALset SCRIPT_DIR=%~dp0for %%I in ("%SCRIPT_DIR%..") do set DIR=%%~dpfIset NODE=%DIR%\node\node.exeWHERE /Q nodeIF %ERRORLEVEL% EQU 0 ( for /f "delims=" %%i in ('WHERE node') do set S原创 2017-03-27 19:57:56 · 3290 阅读 · 0 评论 -
【kibana源码解析】-src/optimize/babelOptions.js
该js文件代码行数不多,主要是设置配置参数,用于babel(nodejs的一个模块,用于编译js)。 代码:var fromRoot = require('path').resolve.bind(null, __dirname, '../../');path为nodejs的一个原生模块,用于处理文件路径。bind()是js中提供的一个方法。bind会生成一个新的函数,这个函数只有在调用的原创 2017-03-30 10:11:02 · 1388 阅读 · 1 评论 -
【kibana源码解析】--nodejs中的commander模块
在kibana中用到了commander模块,在文献引用中已经介绍的很详细了,只对疑惑的地方进行详细记录:先上简单代码:var program = require('commander');program .version('0.0.1') .option('-p, --peppers', 'Add peppers') .option('-P, --pine原创 2017-03-30 21:05:36 · 1354 阅读 · 0 评论 -
kibana源码开发教程(github)
If you have a bugfix or new feature that you would like to contribute to Kibana, please find or open an issue about it before you start working on it. Talk about what you would like to do. It may be th转载 2017-04-13 10:51:01 · 8848 阅读 · 0 评论 -
node-sass 安装报错解决办法
E:\kibana>npm install node-sass> node-sass@3.8.0 install E:\kibana\node_modules\node-sass> node scripts/install.jsCannot download "https://github.com/sass/node-sass/releases/download/v3.8.0/win32-x64原创 2017-04-15 14:34:25 · 70794 阅读 · 11 评论 -
windows下kibana源码用dev模式启动,出现403 forbidden问题
这个问题在kibana-4.6的开发者文档中没有描述,但是在5.0中有描述 运行的命令 npm run start需要在gitbash下运行或直接运行 ./bin/kibana --dev 命令至于为何出现这种情况,不清楚,期望大神告之!! github问题页:https://github.com/elastic/kibana/issues/10093 github 开发者文档:ht原创 2017-04-18 17:01:04 · 2217 阅读 · 0 评论 -
kibana启动--nohup在关闭终端后无效&&守护进程详解
进程讲解:在linux中用户启动一个任务,退出终端(session)后,这个任务不会转变成后台任务,这个问题会困扰很多人,这主要跟I/O、session、SIGHUP等有关。详细内容参考阮一峰老师的博客:http://www.ruanyifeng.com/blog/2016/02/linux-daemon.htmlkibana nohup启动方式 在nohup启动kibana后,不要直接关闭掉sh原创 2017-04-15 15:20:51 · 7989 阅读 · 1 评论 -
nodejs、git、cmd、npm、pip设置代理方式及仓库配置
npm设置代理的语句: npm config set proxy http://proxy.company.com:8080 npm config set https-proxy http://proxy.company.com:8080npm删除代理 npm config delete proxy npm config delete https-proxy 其它详细参数:https://原创 2017-04-15 10:42:43 · 2418 阅读 · 0 评论 -
angularjs-$http跨域访问报错的问题
在angularjs中实现$http的跨域访问,最好的方式是用jsonp的形式。1. 指定callback和回调函数名,函数名为JSON_CALLBACK时,会调用success回调函数,JSON_CALLBACK必须全为大写。2. 指定其它回调函数,但必须是定义在window下的全局函数。url中必须加上callback。实现:方法一:$http.jsonp("http://localhost/原创 2017-05-09 19:38:03 · 2163 阅读 · 0 评论 -
通过代理安装pip,及scrapy安装报错记录
首先需要安装python环境, 运行命令:python get-pip.py 即可安装成功pip,如果需要用代理,可替换该命令为:python get-pip.py --proxy="[user:passwd@]proxy.server:port" pip管理包的问题 pip提供一系列命令,可以指定代理同时也可以指定镜像源 如:C:\Python27\Scripts>pip install -原创 2017-07-26 17:47:38 · 1325 阅读 · 0 评论 -
基于风险数据项目对kibana-4.5源码分析和改造
最近成立了数据项目,需要对风险数据提供灵活的数据查询展示页面,提供对数据的分析、统计展示等可视化功能。由于直接数据源主要存在于elasticsearch和druid,并且kibana作为一款优秀的可视化系统,值得我去借鉴和学习。因此决定用bootstrap + angularjs + kibana + java + mysql实现基于大数据业务的风险数据管理系统。通过大数据手段能够对风险数据进行准实原创 2017-03-27 19:18:16 · 1976 阅读 · 3 评论 -
logstash kafka多台机器取数据,只有一个实例消费【logstash2.3.4】
描述:首先kafka的partition数量为6,多台logstash服务机器的topic相同并且groupId也相同。当分别启动机器时,只有一台机器在消费kafka数据,并且总是最后启动的那台在消费。修改了zk时间等各种kafka配置均没有效果,最后不得不看ruby源码了。感觉kakfa的代码写的还是有点问题的。首先介绍logstash的input-kafka模块的代码结构kafka.rb --原创 2016-10-31 16:43:46 · 5154 阅读 · 4 评论 -
风控大数据
风控在互联网金融和电商中有着不可取代的作用,涉及到金钱的交易那么风控就比不可少。在电商领域有黄牛占便宜,其实占到的是本属于平台商家让利于消费者的优惠,损害着平台、商家、消费者三方的利益。以往风控最主要的就是制定规则,于是便有登陆的规则,注册的规则,购物的规则,付款的规则等等,用这样的规则来规避相当一部分损失。随着大数据技术的发展,风控也应该紧跟大数据的步伐,从一个电商的角度来看,风控数据来自于电商的原创 2016-08-16 23:16:27 · 1712 阅读 · 0 评论 -
logstash的conditional语句(if语句出错)
语句的基本形式: 条件判断使用条件来决定filter和output处理特定的事件。logstash条件类似于编程语言。条件支持if、else if、else语句,可以嵌套。 条件语法如下:if EXPRESSION { ...} else if EXPRESSION { ...} else { ...}比较操作有: 相等: ==, !=, <, >, <=, >= 正则:翻译 2016-08-31 12:48:13 · 18495 阅读 · 2 评论 -
elasticsearch中aggregation的简单用法
首先创建实例,以汽车经销商为例(数据主要包含:品牌、制造商、售价、销售时间等)POST /cars/transactions/_bulk{ "index": {}}{ "price" : 10000, "color" : "red", "make" : "honda", "sold" : "2014-10-28" }{ "index": {}}{ "price" : 20000, "colo翻译 2016-08-21 20:08:27 · 10983 阅读 · 1 评论 -
logstash部署
1、首先需要有一个linux环境,在windows下运行可能会出现问题。 2、解压后进入目录下运行 bin/logstash -e ‘input{stdin{}}output{stdout{codec=>rubydebug}}’ 即可启动logstash启动后,通过标准输入一个字符,得到相应的输出。 3、可以把相应的input、filter、out放入配置文件中,通过加载配置文件的方式启动原创 2016-08-10 19:57:39 · 772 阅读 · 0 评论 -
logstash多个配置文件启动的问题
场景描述 创建了一个config文件夹,并且里面建立两个配置文件,内容分别为test1.conf:input{ stdin{}}output{ stdout{ # codec=>rubydebug }}test2.conf:input{ stdin{}}output{ stdout{ codec=>rubydebug }}用启动命令 b原创 2016-08-11 10:44:05 · 36127 阅读 · 4 评论 -
kibana文件结构初步认识及讲解
kibana跟es的结合可以做很多可视化的套件,这种组合可以灵活的利用数据源快速的构建可视化,另外kibana4.2及以上可以支持可视化组件,这是我在项目中考虑的重点。kibana用的是nodejs开发,angularjs技术组合的套件,对于没有接触过前台的同学来说可能会一头雾水,F12的方式对于分析这种技术很难凑效。下面以kibana4.5 windows版为例分析: 其中几个文件如下: no原创 2016-09-05 20:42:11 · 7284 阅读 · 3 评论 -
logstash对于String类型的时间转成long
在工作中,遇到传过来的是时间字符串yyyy-MM-dd HH:mm:ss,用到logstash时需要先把这种时间转换成long,然后进行存储操作。 上config代码:input{ stdin{ # codec=>rubydebug }}filter{# codec=>rubydebug mutate{ split=>["message"," "]原创 2016-09-20 15:59:05 · 5398 阅读 · 0 评论 -
logstash利用ruby语言写复杂的处理逻辑
在应用中,需要对logstash读取的数据进行字符判断、字符串截取等操作。同时也需要用到正则表达式对某些匹配字符进行替换。 直接上配置文件逻辑:input{ stdin{ # codec=>rubydebug }}filter{# codec=>rubydebug mutate{ split=>["message"," "] add_原创 2016-09-21 16:21:32 · 19108 阅读 · 1 评论 -
elasticsearch2.4项目JBOSS启动后遇到的java.lang.NoSuchFieldError: FAIL_ON_SYMBOL_HASH_OVERFLOW问题探究
该项目在tomcat环境下启动完全正常,可是放到jboss中启动,在执行execute()方法时,总是报错,错误如下:ERROR [io.undertow.request] (default task-7) UT005023: Exception handling request to /riskcontroll-admin/monitor/monitorList.htm: org.springfr原创 2016-09-25 13:07:28 · 5080 阅读 · 0 评论 -
elasticsearch配置mapping时,对所有的type有效
在elasticsearch中一个index下面会有很多的type,在一个项目中type的数量未知,所以在建立template的时候需要mapping不指定type(对所有的type有效) 因此需要用到_default_字段:PUT /my_index{"mappings": { "_default_": { "properties": {原创 2016-09-27 14:18:14 · 6742 阅读 · 0 评论 -
elasticsearch_插件(head、bigdesk、marvel、cerebro)
1、bigdesk bigdesk目前支持es只能支持到1.3.x版本。 https://github.com/lukas-vlcek/bigdesk#how-to-use-bigdesk在github上找到一个版本,目前支持到es5.x。由于es5以后不支持插件形式安装,所以需要单独对bigdesk起服务。es2.x版本还是以插件的形式进行安装即可。(es安装目录添加plugins文件夹,原创 2017-11-30 11:23:05 · 3853 阅读 · 1 评论