中企动力 > 商学院 > 数据采集表
  • ?

    金蝶AIR格式数据采集方法

    雨竹

    展开

    如果是* .air先通过解压文件解压为*.ais。

    步骤一:建立数据库连接。 打开ACCESS2003,选择“工具->安全->工作组管理员”,打开一个对话框,点击“加入-浏览”,在“工作组名称”中输入AO中System.mda的安装路径: D:\现场审计实施系统2011版\XXBCJ\System.mda,确定后退出。

    步骤二:打开账套文件。打开ACCESS,文件→ 打开,选择金蝶账套所在文件夹,在文件类型中选择“所有文件”,在列出的文件中选择“*.ais”,在出现的对话框中输入ACCESS用户名: morningstar,口令:ypbwkfyjhyhgzj,确定。打开过程中有安全警告,忽略。

    步骤三:找到三张基本表,导出为EXCEL工作簿。注意要放在一个工作簿里,分别为以下三张:GLAcct(科目表)、GLBal(科目余额表)、GLVch(凭证表)。

    步骤四:数据整理后导入。由于软件币种设置的原因,金蝶KIS迷你版的科目余额表会出现重复值,每一个科目的余额分别以“RMB”和“*”两种币种金额显示,结果会导致科目代码的不唯一,可以使EXCEL的筛选功能,筛选出币种(FCyID字段)为 “*”的记录,予以删除,也可以直接在AO的数据查看对话框中执行以下语句:DELETE FROM [GLBal] WHERE FCyID<>'RMB' 以上两种方式可以将重复值全部消除。 然后,生成财务数据临时表(源数据凭证为一个表)

    ——辅助导入-会计期间设置(如2013年)-保存-关闭;

    ——辅助导入-源科目余额表GLBal-不存储多年余额-只存储余额,根据余额正负决定余额借贷方向-期初余额字段Fbegbal-科目编码FacctID-科目余额月存储-会计月Fperiod-年初余额在1月-导入余额表成功;

    ——辅助导入-源会计科目表GLAcct-不存储多年会计科目-科目编码FacctID-科目名称FAcctName-导入借贷方向FDC-C为贷,D为借-导入会计科目表成功;

    ——辅助导入-批量生成科目编码-验证-保存;

    ——辅助导入-源凭证表GLvch-不存储多年凭证-凭证日期Fdate-凭证流水号Fnum-凭证类型FGroup-分别存储借方发生额和贷方发生额-借方发生额字段Fdebit,贷方发生额字段FCredit-摘要Fexp-科目编码FacctID-自动生成源凭证库分录序号-导入凭证库成功-关闭生成财务数据临时表向导。

    步骤五:改回ACESS原来的工作组默认设置即:C:\Documents and Settings\Administrator\Application Data\Microsoft\Access\System.mda,否则以后打开所有的ACESS文件都要输入金蝶的用户名和密码。

    将以上导入过程保存为采集模板,便于以后直接使用。在进行会计科目调整完成账表重建后,就可以打开电子账簿、进行账表分析了。

  • ?

    表单处理|这五款软件能够精准提取数据

    叹服

    展开

    对于企业和职场人士,特别是HR、财务等经常处理表单和数据的职位,日常工作中一定会接触到一些数据收集和分析的工作任务。多数情况下,用户需要从大量相同表单里提取一两项关键数据,针对这种场景,假若用户使用传统手工录入的方式,往往会有大量重复动作,毫无工作效率。

    其实,用对工具,能极大提升工作效率。这篇文章里,为大家推荐5款数据处理软件。

    1、Formtalk

    Formtalk 提供企业级一站式办公应用定制平台,它不仅具备数据采集和管理,而且还能够满足企业内外部包括报名、登记、预约、投票、调查等在内的数据采集需求。这款软件能够帮助用户实时跟踪需要采集的数据,呈现为可视化报表,同时,它的PC表单设计引擎、移动表单设计引擎、安全引擎和数据集成接口四项核心技术能够为用户提供表单复制、表单授权及表单提取功能,让用户能够有效提高工作效率。

    2、PDFelement

    PDFelement 在处理 PDF 表单和提取数据这一块可谓占领行业制高点。 它能帮助用户一键识别表单域(交互式表单域和非交互式表单域皆可识别),也能帮助用户自定义创建个性表单,比如单选、多选、下拉表、文本框、数字签名等。 当用户面对海量 PDF 表单,需要提取其中一项或者多项关键数据时,它能帮助用户准确提取表单数据,批量处理为用户节省了大量时间和精力。

    用户仅需将大量 PDF 拖入程序中,选择需要提取的区域,这些数据将会导入到Excel中。 如果这些 PDF 文档是扫描文件,也无需担心,PDFelement 执行 OCR,将文档转换为可编辑的文档,再进行数据提取操作。

    3、金数据

    这款表单处理工具是通用型的表单工具,主要功能聚集于数据收集和数据提取上,在数据统计和数据分析上有所欠缺。用金数据生成的表单不仅能以 Excel 表格的形式呈现,而且能够以链接或者 HTML 代码的形式嵌入到网页、微信文章之中。除此之外,这款软件在收集、提取数据的同时能够接入不同的支付端口,非常适合微店订单、用户反馈等业务数据的收集和提取。

    4、易表

    这款软件的功能介于电子表格与数据库软件之间,拥有类似电子表格的界面,也具备数据库软件特有的功能和灵活性。易表在数据处理上是非常优秀的软件,能够帮助用户完美完成复杂的数据管理和统计分析工作。但是,它的功能要求用户具备一定的开发能力,只有了解基本的编程知识才能快速建立属于自己的数据管理系统,比较适合专业性较强的用户,普通用户使用这款软件的学习成本过高。

    5、Foxtable

    这款软件将 Excel、Access、Foxpro、VB 等软件的优势融合在一起,无论是数据录入、提取,还是报表生成,用户都无需编写代码即可完成以上这些复杂的数据管理工作。这款软件的亮点之一是内置了 HTTP 服务和手机网页功能,用户无需任何专业知识就能够开发出自己移动端的管理软件,做到 PC 端与移动端的数据联通。相比于其他数据处理软件,这款软件更像是一个高效开发工具,让用户在开发属于自己的数据库时更关注商业逻辑,导致具体功能的实现比较艰难。同时,由于Foxtable支持外部数据源,也就意味着用户提供的数据有一定的安全风险。

    你是否也有兴趣看看《身在职场不会处理这5种文档,还谈涨薪?》

  • ?

    携程用户数据采集与分析系统

    汤夜白

    展开

    一、携程实时用户数据采集系统设计实践

    随着移动互联网的兴起,特别是近年来,智能手机、pad等移动设备凭借便捷、高效的特点风靡全球,同时各类APP的快速发展进一步降低了移动互联网的接入门槛,越来越多的网民开始从传统PC转移至移动终端上。但传统的基于PC网站和访问日志的用户数据采集系统已经无法满足实时分析用户行为、实时统计流量属性和基于位置服务(LBS)等方面的需求。

    我们针对传统用户数据采集系统在实时性、吞吐量、终端覆盖率等方面的不足,分析了在移动互联网流量剧增的背景下,用户数据采集系统的需求,研究在多种访问终端和多种网络类型的场景下,用户数据实时、高效采集的方法,并在此基础上设计和实现实时、有序和健壮的用户数据采集系统。此系统基于Java NIO网络通信框架(Netty)和分布式消息队列(Kafka)存储框架实现,其具有实时性、高吞吐、通用性好等优点。

    1、技术选型和设计方案:

    一个典型的数据采集分析统计平台,对数据的处理,主要由如下五个步骤组成:

    图1、数据平台处理流程

    其中,数据采集步骤是最核心的问题,数据采集是否丰富、准确和实时,都直接影响整个数据分析平台的应用的效果。本论文关注的步骤主要在数据采集、数据传输和数据建模存储这三部分。

    为满足数据采集服务实时、高效性、高吞吐量和安全性等方面的要求,同时能借鉴互联网大数据行业一些优秀开源的解决方案,所以整个系统都将基于Java技术栈进行设计和实现。整个数据采集分析平台系统架构如下图所示:

    图2(数据采集分析平台系统架构)

    其中整个平台系统主要包括以上五部分:客户端数据采集SDK以Http(s)/Tcp/Udp协议根据不同的网络环境按一定策略将数据发送到Mechanic(UBT-Collector)服务器。服务器对采集的数据进行一系列处理之后将数据异步写入Hermes(Kafka)分布式消息队列系统。为了关联业务服务端用户业务操作埋点、日志,业务服务器需要获取由客户端SDK统一生成的用户标识(C-GUID),然后业务服务器将用户业务操作埋点、日志信息以异步方式写入Hermes(Kafka)队列。最后数据消费分析平台,都从Hermes(Kafka)中消费采集数据,进行数据实时或者离线分析。其中Mechanic(UBT-Collector)系统还包括对采集数据和自身系统的监控,这些监控信息先写入Hbase集群,然后通过Dashboard界面进行实时监控。

    (1)基于NIO的Netty网络框架方案

    要满足前面提到的高吞吐、高并发和多协议支持等方面的要求。我们调研了几种开源异步IO网络服务组件(如Netty、MINI、xSocket),用它们和NginxWeb服务器进行了性能对比,决定采用Netty作为采集服务网络组件。下面对它进行一些概要介绍:Netty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。

    图3(Netty框架内部组件逻辑结构)

    Netty的优点有:

    a、功能丰富,内置了多种数据编解码功能、支持多种网络协议。

    b、高性能,通过与其它主流NIO网络框架对比,它的综合性能最佳。

    c、可扩展性好,可通过它提供的ChannelHandler组件对网络通信方面进行灵活扩展。

    d、易用性,API使用简单。

    e、经过了许多商业应用的考验,在互联网、网络游戏、大数据、电信软件等众多行业得到成功商用。

    Netty采用了典型的三层网络架构进行设计,逻辑架构图如下:

    图4(Netty三层网络逻辑架构)

    第一层:Reactor通信调度层。该层的主要职责就是监听网络的连接和读写操作,负责将网络层的数据读取到内存缓冲区中,然后触发各种网络事件,例如连接创建、连接激活、读事件、写事件等,将这些事件触发到Pipeline中,再由Pipeline充当的职责链来进行后续的处理。

    第二层:职责链Pipeline层。负责事件在职责链中有序的向前(后)传播,同时负责动态的编排职责链。Pipeline可以选择监听和处理自己关心的事件。

    第三层:业务逻辑处理层,一般可分为两类:a. 纯粹的业务逻辑处理,例如日志、订单处理。b. 应用层协议管理,例如HTTP(S)协议、FTP协议等。

    我们都知道影响网络服务通信性能的主要因素有:网络I/O模型、线程(进程)调度模型和数据序列化方式。

    在网络I/O模型方面,Netty采用基于非阻塞I/O的实现,底层依赖的是JDKNIO框架的Selector。

    在线程调度模型方面,Netty采用Reactor线程模型。常用的Reactor线程模型有三种,分别是:

    a、Reactor单线程模型:Reactor单线程模型,指的是所有的I/O操作都在同一个NIO线程上面完成。对于一些小容量应用场景,可以使用单线程模型。

    b、Reactor多线程模型:Rector多线程模型与单线程模型最大的区别就是有一组NIO线程处理I/O操作。主要用于高并发、大业务量场景。

    c、主从Reactor多线程模型:主从Reactor线程模型的特点是服务端用于接收客户端连接的不再是一个单独的NIO线程,而是一个独立的NIO线程池。利用主从NIO线程模型,可以解决一个服务端监听线程无法有效处理所有客户端连接的性能不足问题。Netty线程模型并非固定不变的,它可以支持三种Reactor线程模型。

    在数据序列化方面,影响序列化性能的主要因素有:

    a、序列化后的码流大小(网络带宽占用)。

    b、序列化和反序列化操作的性能(CPU资源占用)。

    c、并发调用时的性能表现:稳定性、线性增长等。

    Netty默认提供了对GoogleProtobuf二进制序列化框架的支持,但通过扩展Netty的编解码接口,可以实现其它的高性能序列化框架,例如Avro、Thrift的压缩二进制编解码框架。

    通过对Netty网络框架的分析研究以及对比测试(见后面的可行性分析测试报告)可判断,基于Netty的数据采集方案能解决高数据吞吐量和数据实时收集的难点。

    》》点击阅读全文

  • ?

    数据采集做不好,何谈大数据!

    Largs

    展开

    在数字经济时代,未来每个企业都可能是数字企业。数字企业则必须有自己完整的大数据体系。上期小编邀请数据大牛为大家解析了大数据底层架构(资深数据大牛深度解析:大数据底层架构!),而今天我们介绍的,便是每个企业大数据体系中最基础和最根本的部分——数据采集。

    数据采集是一切有效分析的前提。如:数据接入;数据传输;数据建模/存储;数据查询;数据可视化等。总体上可以将企业大数据体系分成:

    采集与存储平台:主要职责是对企业的相关大数据进行收集,并将收集到的数据进行存储。以便与企业管理及运用,同时也是未来数字企业的最重要资产之一。

    分析与挖掘平台:主要职责是对企业采集到的数据进行专门的分析、BI等,以及在此基础上进一步的数据挖掘、人工智能等。

    洞察与决策平台:主要职责是利用大数据分析的结果,通过自动加人工双重决策,更高效的运用到产品,业务,商业等环节以及相应的行动等。

    覆盖全局数据安全平台:主要职责是负责确保数据的安全性,保证企业的数据资产不受到损害,例如数据不丢失、不损坏、不被窃、不被改等。

    数据采集与存储平台将占据非常重要的位置。将来自各种数据源的原始大数据采集、分析、存储等。通常中小企业也可以不用自己拥有专门的大数据分析与挖掘平台,选择与相对专业的企业合作。

    面对来源各异、以结构化/半结构化为主的数据,拍拍信使用linkedin开源的camus来采集消息类数据,使用kettle来采集RMDB的数据,具有以下优势:

    1提高采集效率,降低工程成本;

    2支持Web、iOS、Android、HTML等多种平台;

    3采集全面属性、维度、指标等,使数据资源更优质;

    4建立预测模型,实时智能监控、分析、预测用户行为;

    5支持代码埋点,和全(无)埋点,按需选择,灵活运用。

    采集方案:客户端(前端);服务器日志;业务数据库;历史数据;第三方数据等。

    数据采集与存储平台一般也可以分为三个层次,即数据采集层、预处理层和存储层。同时,大数据采集平台还需要一个覆盖全局的数据安全体系。

    采集层负责采集企业各种来源的大数据;预处理层负责对采集回来的数据进行一些规范化的处理;存储层则是将预处理后的大数据进行存储,将企业大数据资产用一种方式保存起来。数据安全体系即数据安全平台。值得注意的是,当存储技术足够好、存储设备成本足够低容量足够大时,预处理层或可以选择忽略。

    本期对大数据采集的分享就到这里啦,欢迎大家联系探讨。

    (小编的鸡腿就靠各位老板啦(づ ̄ 3 ̄)づ)

    感谢您对拍拍信的认可与支持

    我们一直在路上

  • ?

    让您了解大数据采集最新技术

    雍采白

    展开

    现在谈论大数据已经没有新意了,形形色色的产品、平台和公司都贴满大数据标签,但大数据却并没有掀起预期飓风,甚至还被冠以“伪命题”污名。

    大数据开启了一个大规模生产、分享和应用数据的时代,它给技术和商业带来了巨大的变化。大数据在核心领域的渗透速度有目共睹,然而调查显示,未被使用的信息比例高达99.4%,很大程度都是由于高价值的信息无法获取采集。

    因此在大数据时代背景下,如何从大数据中采集出有用的信息已经是大数据发展的关键因素之一,数据采集才是大数据产业的基石。那么什么是大数据采集技术呢?

    什么是数据采集?

    数据采集(DAQ), 又称数据获取,是指从传感器和其它待测设备等模拟和数字被测单元中自动采集信息的过程。数据分类新一代数据体系中,将传统数据体系中没有考虑过的新数据源进行归纳与分类,可将其分为线上行为数据与内容数据两大类。

    线上行为数据:页面数据、交互数据、表单数据、会话数据等。

    内容数据:应用日志、电子文档、机器数据、语音数据、社交媒体数据等。

    大数据的主要来源:1)商业数据 2)互联网数据 3)传感器数据

    传统数据采集的不足

    传统的数据采集来源单一,且存储、管理和分析数据量也相对较小,大多采用关系型数据库和并行数据仓库即可处理。对依靠并行计算提升数据处理速度方面而言,传统的并行数据库技术追求高度一致性和容错性,根据CAP理论,难以保证其可用性和扩展性。

    大数据采集新的方法

    以博为软件101异构数据采集技术为例:通过获取软件系统的底层数据交换、软件客户端和数据库之间的网络流量包,基于底层IO请求与网络分析等技术,采集目标软件产生的所有数据,将数据转换与重新结构化,输出到新的数据库,供软件系统调用。

    博为软件

    技术特点如下:

    1. 无需原软件厂商配合;

    2. 实时数据采集,数据端到端的响应速度达秒级;

    3. 兼容性强,可采集汇聚Windows平台各种软件系统数据;

    4. 输出结构化数据,作为数据挖掘、大数据分析应用的基础;

    5. 自动建立数据间关联,实施周期短、简单高效;

    6. 支持自动导入历史数据,通过I/O人工智能自动将数据写入目标软件;

    7. 配置简单、实施周期短。

    优点:其优势在于不需要“接口”配合,这就摆脱了对软件厂商的依赖。特别是在在需要集成多个系统数据时,不仅能节省大量时间、人力与资金,实现“一站式”完成;还避免了因个别系统开发团队解体、源代码丢失等原因导致系统数据集成出现烂尾的情况。

    缺点:只采集Windows平台的各软件系统数据

    版权声明:本文部分来自网络,如有侵权,请联系删除!

  • ?

    亿信华辰数据采集平台i@Report这样抓取数据

    曲奇多

    展开

    数据抓取方案是从指定网址上抓取数据,存储到用户使用的i@Report产品中。对于数据抓取的创建,使用者需要了解其基本的功能使用。跟着小亿的介绍,一起来了解一下。

    数据抓取方案

    系统会自动生成一个dadmin帐号(默认密码dadmin),使用该帐号登录系统,可以看到数据抓取模块,该用户的权限已经初始化完成。

    创建抓取方案,需要进行抓取的相关设置。

    基本属性设置

    【抓取地址】抓取的目标网址。

    【关键字】目标表格的表头文字、表格里面的文字(协助定位表格的文字),支持多个关键字定位,关键字之间的分割符可以设置为空格,英文的分号、逗号。

    【方案名称】抓取方案的名称。如果不填写,点击“测试”,会默认取抓取目标网址的标题。

    【数据起始行】标志数据起始的行号,行号之前的会被识别为表头,行号及之后的数据被识别为数据。

    基本配置完成之后,点击"测试"按钮,会根据默认的抓取规则,从目标地址中将

    标签的内容抓取出来重新渲染。

    高级属性设置

    【表格ID】数据所在表格DOM元素的id属性值。在网页上的表格无明显关键字或者有多个同样标题的表格时,可以考虑取表格的ID来定位表格。

    【表格名称】用途与表格ID一致,对应DOM对象的name属性。

    【分页参数】在目标网站支持分页,且数据有多页的情况下,可以设置分页参数,这里指参数名。

    例如:

    http://192.168.1.200/bbs//forumdisplay.php?fid=30&page=2 该地址的分页参数就是page。

    【页码起止】配置抓取的起止码,从第几页抓到第几页,可以只填写分页起始行,不填写截止行。

    【取数去重】设置是否去除重复数据。勾选后将不再抓取重复的数据到数据库,数据是否重复的范围是所有期的数据中去比较是否有重复,默认不去重。

    登录属性设置

    以BI的登录地址为例

    【登录地址】执行登录的地址。

    【用户名参数】用户名对应的参数名。

    【用户名】用户的ID。

    【密码参数】用户密码的参数名。

    【密码】用户的密码。

    【登出地址】执行登出的地址。

    执行属性设置

    【取数频率】执行数据抓取的频率设置。

    【启动】是否启动自动抓取。

    根据实际需要配置完成后,点击“保存”,可以将当前配置保存,并生成对应的抓取方案。一个方案会同步生成一个irpt的任务和一个计划任务,任务保存在数据抓取任务组,计划任务保存到数据抓取分组。

    保存完成后,会提示是否执行数据抓取,点击“确认”可以执行一次数据抓取,也可以在树形抓取方案上,右键"执行"来执行抓取。

    编辑抓取方案

    点击左树上的方案配置,可以查看抓取方案的配置,

    可以对执行设置等配置进行编辑,其中目标地址、关键字、表格id、表格名称无法编辑。

    查看抓取数据

    点击左树抓取方案下的"数据"节点,可以查看抓取到的数据,

    抓取一次将生成一期数据,数据只能查看,不能编辑。数据由2张表组成,一张基本表,一张数据表,基本表记录抓取的一些基本信息。

    查看日志

    点击左树抓取方案下的"日志"节点,可以查看抓取数据的日志信息。

  • ?

    六大主流大数据采集平台架构分析

    尹清

    展开

    随着大数据越来越被重视,数据采集的挑战变的尤为突出。今天为大家介绍几款数据采集平台:

    Apache Flume Fluentd Logstash Chukwa Scribe Splunk Forwarder

    大数据平台与数据采集

    任何完整的大数据平台,一般包括以下的几个过程:

    数据采集–>数据存储–>数据处理–>数据展现(可视化,报表和监控)

    其中,数据采集是所有数据系统必不可少的,随着大数据越来越被重视,数据采集的挑战也变的尤为突出。这其中包括:

    我们今天就来看看当前可用的六款数据采集的产品,重点关注它们是如何做到高可靠,高性能和高扩展。

    1、Apache Flume

    Flume 是Apache旗下的一款开源、高可靠、高扩展、容易管理、支持客户扩展的数据采集系统。 Flume使用JRuby来构建,所以依赖Java运行环境。

    Flume最初是由Cloudera的工程师设计用于合并日志数据的系统,后来逐渐发展用于处理流数据事件。

    Flume设计成一个分布式的管道架构,可以看作在数据源和目的地之间有一个Agent的网络,支持数据路由。

    每一个agent都由Source,Channel和Sink组成。

    Source

    Source负责接收输入数据,并将数据写入管道。Flume的Source支持HTTP,JMS,RPC,NetCat,Exec,Spooling Directory。其中Spooling支持监视一个目录或者文件,解析其中新生成的事件。

    Channel

    Channel 存储,缓存从source到Sink的中间数据。可使用不同的配置来做Channel,例如内存,文件,JDBC等。使用内存性能高但不持久,有可能丢数据。使用文件更可靠,但性能不如内存。

    Sink

    Sink负责从管道中读出数据并发给下一个Agent或者最终的目的地。Sink支持的不同目的地种类包括:HDFS,HBASE,Solr,ElasticSearch,File,Logger或者其它的Flume Agent。

    Flume在source和sink端都使用了transaction机制保证在数据传输中没有数据丢失。

    Source上的数据可以复制到不同的通道上。每一个Channel也可以连接不同数量的Sink。这样连接不同配置的Agent就可以组成一个复杂的数据收集网络。通过对agent的配置,可以组成一个路由复杂的数据传输网络。

    配置如上图所示的agent结构,Flume支持设置sink的Failover和Load Balance,这样就可以保证即使有一个agent失效的情况下,整个系统仍能正常收集数据。

    Flume中传输的内容定义为事件(Event),事件由Headers(包含元数据,Meta Data)和Payload组成。

    Flume提供SDK,可以支持用户定制开发:

    Flume客户端负责在事件产生的源头把事件发送给Flume的Agent。客户端通常和产生数据源的应用在同一个进程空间。常见的Flume 客户端有Avro,log4J,syslog和HTTP Post。另外ExecSource支持指定一个本地进程的输出作为Flume的输入。当然很有可能,以上的这些客户端都不能满足需求,用户可以定制的客户端,和已有的FLume的Source进行通信,或者定制实现一种新的Source类型。

    同时,用户可以使用Flume的SDK定制Source和Sink。似乎不支持定制的Channel。

    2、Fluentd

    Fluentd是另一个开源的数据收集框架。Fluentd使用C/Ruby开发,使用JSON文件来统一日志数据。它的可插拔架构,支持各种不同种类和格式的数据源和数据输出。最后它也同时提供了高可靠和很好的扩展性。Treasure Data, Inc 对该产品提供支持和维护。

    Fluentd的部署和Flume非常相似:

    Fluentd的架构设计和Flume如出一辙:

    Fluentd的Input/Buffer/Output非常类似于Flume的Source/Channel/Sink。

    Input

    Input负责接收数据或者主动抓取数据。支持syslog,http,file tail等。

    Buffer

    Buffer负责数据获取的性能和可靠性,也有文件或内存等不同类型的Buffer可以配置。

    Output

    Output负责输出数据到目的地例如文件,AWS S3或者其它的Fluentd。

    Fluentd的配置非常方便,如下图:

    Fluentd的技术栈如下图:

    FLuentd和其插件都是由Ruby开发,MessgaePack提供了JSON的序列化和异步的并行通信RPC机制。

    Cool.io是基于libev的事件驱动框架。

    FLuentd的扩展性非常好,客户可以自己定制(Ruby)Input/Buffer/Output。

    Fluentd从各方面看都很像Flume,区别是使用Ruby开发,Footprint会小一些,但是也带来了跨平台的问题,并不能支持Windows平台。另外采用JSON统一数据/日志格式是它的另一个特点。相对去Flumed,配置也相对简单一些。

    3、Logstash

    Logstash是著名的开源数据栈ELK (ElasticSearch, Logstash, Kibana)中的那个L。

    Logstash用JRuby开发,所有运行时依赖JVM。

    Logstash的部署架构如下图,当然这只是一种部署的选项。

    一个典型的Logstash的配置如下,包括了Input,filter的Output的设置。

    几乎在大部分的情况下ELK作为一个栈是被同时使用的。所有当你的数据系统使用ElasticSearch的情况下,logstash是首选。

    4、Chukwa

    官网:https://chukwa.apache.org/

    Apache Chukwa是apache旗下另一个开源的数据收集平台,它远没有其他几个有名。Chukwa基于Hadoop的HDFS和Map Reduce来构建(显而易见,他用Java来实现),提供扩展性和可靠性。Chukwa同时提供对数据的展示,分析和监视。很奇怪的是它的上一次 github的更新事7年前。可见该项目应该已经不活跃了。

    Chukwa的部署架构如下:

    Chukwa的主要单元有:Agent,Collector,DataSink,ArchiveBuilder,Demux等等,看上去相当复杂。由于该项目已经不活跃,我们就不细看了。

    5、Scribe

    代码托管:https://github/facebookarchive/scribe

    Scribe是Facebook开发的数据(日志)收集系统。已经多年不维护,同样的,就不多说了。

    6、Splunk Forwarder

    以上的所有系统都是开源的。在商业化的大数据平台产品中,Splunk提供完整的数据采金,数据存储,数据分析和处理,以及数据展现的能力。

    Splunk是一个分布式的机器数据平台,主要有三个角色:

    Search Head负责数据的搜索和处理,提供搜索时的信息抽取。

    Indexer负责数据的存储和索引 Forwarder,负责数据的收集,清洗,变形,并发送给Indexer

    Splunk内置了对Syslog,TCP/UDP,Spooling的支持,同时,用户可以通过开发 Input和Modular Input的方式来获取特定的数据。在Splunk提供的软件仓库里有很多成熟的数据采集应用,例如AWS,数据库(DBConnect)等等,可以方便的从云或者是数据库中获取数据进入Splunk的数据平台做分析。

    这里要注意的是,Search Head和Indexer都支持Cluster的配置,也就是高可用,高扩展的,但是Splunk现在还没有针对Farwarder的Cluster的功能。也就是说如果有一台Farwarder的机器出了故障,数据收集也会随之中断,并不能把正在运行的数据采集任务Failover到其它的 Farwarder上。

    总结

    我们简单讨论了几种流行的数据收集平台,它们大都提供高可靠和高扩展的数据收集。大多平台都抽象出了输入,输出和中间的缓冲的架构。利用分布式的网络连接,大多数平台都能实现一定程度的扩展性和高可靠性。

    其中Flume,Fluentd是两个被使用较多的产品。如果你用ElasticSearch,Logstash也许是首选,因为ELK栈提供了很好的集成。Chukwa和Scribe由于项目的不活跃,不推荐使用。

    Splunk作为一个优秀的商业产品,它的数据采集还存在一定的限制,相信Splunk很快会开发出更好的数据收集的解决方案。

  • ?

    超实用:通过Excel进行数据采集

    尹绿蓉

    展开

    前言

    IBM大中华区总经理胡世忠曾说:数据构成了智慧地球的三大元素——智能化、互联化和物联化,而这三大元素又改变了数据来源、传送方式和利用方式,带来“大数据”这场信息社会的变革。

    从上可见,时代的变革是源于对数据的利用,对企业而言,数据也同样是其发展、转型的命脉。在工作中,我的前辈不止一次地强调,数据是公司的资产,而且举足轻重。我们对待数据,一定要严谨,经得起考验,对自己的数据负责,这是一个数据人的基本要求。

    数据资源

    大数据时代,数据虽然很多,但是也不是随意得来的,需要利用各种渠道和方式获得。不管从哪个角度来说,数据可分为内部数据和外部数据。内部数据是企业在日积月累的经营中得来的,我们应该对这些数据挖掘、收集有价值的东西,形成企业的数据资产。内部数据重在后期的处理和分析上。

    下面先说外部数据的获取方式,以及通过Excel操作来获取外部数据。

    外部数据获取方式

    1、专业网站看数据(某一个行业、某一件产品)2、通过收费渠道买数据(第三方数据平台等)3、通过特殊形式引数据(网站爬虫,统计网站等)4、自身积累数据(时间久、跨度长)

    Excel获取外部数据

    作为一个数据分析师以及想更进一步成长为数据科学家,熟练操作基本的办公软件以及SQL查询是很重要的。请看下面通过Excel获取外部数据的步骤。

    第1步:打开“新建web查询”框。新建Excel工作簿,在打开的工作表中单击“数据”选项卡,然后在“获取外部数据”组中单击“自网站”按钮,如下图。

    第2步:输入网址并选择要导入的表格数据。在弹出的“新建web查询”对话框中的“地址”文本框中复制粘贴上述网页的网址,然后单击“转到”,找到网站中的表格数据后单击表格左上角的箭头→,图标变成选中状态的复选框√。如下图。最后单击下方的“导入”按钮。

    第3步:选择数据的放置区域。点击导入后,Excel会出现“导入数据”对话框,如下图,选中你想放置的单元格,单击“确定”开始导入。

    第4步:美化导入的数据。由于导入的数据多且乱,要调整格式使数据规范,并启用冻结窗格功能方便浏览。如下图。

    好了,上面就是通过Excel操作来获取网站上的外部数据,很简单吧,但网站中的数据并非都是以表格的形式呈现,现在大部分是以json格式呈现,Excel不是万能的,而且现在很多网站需要付费才能导数据(上面说过数据就是企业的资产)。

    小结

    希望通过上面的操作能帮助大家。如果你有什么好的意见,建议,或者有不同的看法,我都希望你留言和我们进行交流、讨论。

    End.

  • ?

    数据采集过程中的常见问题

    Fan

    展开

    经过两周的整理总结,沉淀出来好多数据采集的经验与大家分享。

    前嗅免费模板共享链接:http://forenose/help/collection/template/cases.html

    1.如何进行数据采集?

    ①下载安装软件后,登录到软件上。

    ②准备好模板:在前嗅的官网上下载免费的模板或自己配置好的模板

    ③将下载的官网导入到软件中。

    点击文件---点击导入采集文件(将采集文件导入,自己配置的模板请忽略这一步)

    ④在数据建表中建关联数据表

    选中需要采集模板下的表单---点击创建关联数据表,所创表名不能为汉字,点击确定---在所创数据表前的方框打勾即可关联数据表。详情见下图。

    此时在数据浏览中就存在了刚刚建的关联数据表。

    ⑤进行数据采集。

    在需要进行数据采集的模板前打勾--点击允许采集--点击开始按钮即可进行数据采集。详情见下图。

    ⑥数据预览及导出

    选中关联表---点击刷新按钮即可查看数据---点击导出按钮即可导出数据。详情见下图。

    多种导出方式:

    a.可以将采集到的数据全部导出。

    b.可以将数据分割导出,设置特定数目后数据会分别储存放在文件夹中。

    c.可以将每个字段所采集到的内容分别导出到不同文件夹,方便查看。

    数据导出教程:

    http://forenose/help/guildbook/crawler_new/5-2.html

    2.所采集的网站弹验证码是怎么回事?

    弹验证码分为四种情况:

    ①登录需要验证码:登录时只需要一个验证码,所以直接手动填写配置即可。

    ②多账号登录:每次账号登录都需要验证码,此时应该接第三方打码平台。

    前嗅(forenose)是首个深度大数据专家。

    提供数据采集-分析-处理-管理-营销-应用,自主知识产权的全套大数据产品 。

  • ?

    前嗅:手把手教你数据采集

    彭亚男

    展开

    ForeSpider 前嗅:手把手教你数据采集

    ForeSpider是一款非常好用的数据采集软件,因为属于专业性工具,除了帮助文档外很少有使用教程。所有有很多人在使用的过程中遇到问题难以解决,今天给大家介绍ForeSpider数据采集系统的使用教程,希望能对大家的工作有所帮助。

    教程的示例网站是大众点评,要得到50页内所有医院名称,该医院评论总数,医院总体星级,各项评分,医院评论的用户名,评论内容,评论时间,用户点评星级,获赞数量和回应数量。

    首先我们先新建一个频道,我给它命名为大众点评,然后在频道配置里输入我们想要爬取数据的网址,需要在频道配置处输入想要得到数据的网址,大众点评需要开启cookie,从右面可以开启,网站不同有的不需要,视情况而定。 现在默认模板(1)就是我们要的网站页面,鼠标放在医院标题处如图,从左下角能看到医院的网址链接。

    现在点一下右上角的采集预览,我们能得到整个页面的所有网页链接,下拉滚动条到这个位置就会发现跟上图相同格式的链接,这就是我们需要的所有医院的链接。

    我们用不到的需要过滤一下,可以通过地址过滤和标题过滤方法筛选。点击软件右上角模板抽取配置里面的链接抽取,里面有地址过滤和标题过滤两个选项,点击地址过滤,软件右下角如图:

    过滤规则选择包含,过滤串内输入想要得到的医院链接,后面这串数字我们用“\d”表示,用“\e”表示结束,例如https://dianping/shop/\d\e,这样就能采集网页内所有这种格式的网页链接。

    当我们想要采集的网页下面有翻页的链接,就必须配置翻页。除了在右上角默认模板处抽取我们想要的得到的医院链接外,还要再新建一个链接抽取,抽取页面翻页的地址。

    我们继续从采集预览处得到翻页的链接,过滤规则选择包含,通过观察发现几个链接的相同点,输入到过滤串里就能得到想要的翻页链接了。

    第一层级的模板建好了,下面我们随便点进一个医院主页内,复制链接建立下一层级模板。在默认模板(2)的示例地址内输入医院主页的链接。

    因为我们需要采集该医院所有用户评论,所以我们找到下面的“更多点评”,通过刚刚地址过滤的方法,过滤出更多点评的链接,并建立模板(3),示例地址输入刚刚过滤的得到的“更多点评”的网址。

    注:点击链接抽取,看左下角关联模板处,一定要关联到下一层级的模板,如果是翻页的链接抽取,要关联自身模板,否则会数据采集失败。这点一定要注意。

    这样模板的基本配置就完成了,下一步是建立表单,下图是我们的需求,红色字体我们能从模板二采集到,蓝色字体我们能从模板三采集到,所以我们需要建立两个表单。

    点击表单配置,新建一个表单,添加一个网页主键如图,一定要勾选索引字段,键值唯一,主键字段三个选项,取值类型选择网页主键点击确定。

    然后添加下一个字段如标题“title”

    取值类型选择“选区内全部文本”,变量类型选择“string”,选择合适的字符长度点击确定。依次建立所有字段。

    这是我建立的两个表单的所有字段,表单名称分别为“大众点评1”、“大众点评2”,建立好以后点击保存即可。点开模板配置,每一个模板对应相应的表单,右键模板二“添加数据抽取”,表单名称选择“大众点评1”。

    同样在模板三处再添加另外一个数据抽取表单,添加好后如下图所示:

    单击“title”,然后按住ctrl键同时鼠标左键点击对应标题,内容过多的话按住shift可以调整内容大小,选好后点击保存。

    全部选取完后点击左上角的文件,然后全部保存。

    下一步点击数据,连接数据库,然后再次点击数据,选择数据表,选择刚刚新建两个数据表的字段后创建表,创建好后勾选并确定,就可以进行数据采集了(如果表单有问题需要更改,改好后需要重新创建表单),速度慢可以点击设置里面的线程设置,设置多线程。

    这只是一个简单的教程,软件还有很多强大的功能,祝大家使用愉快!

  • 数据采集表