精华内容
下载资源
问答
  • 互联网下企业并购案例分析.pdf
  • 互联网企业并购案例短期绩效分析.pdf
  • 高级财务管理企业并购案例分析范文.doc
  • 企业并购重组经典案例精选.docx
  • 集团企业合并报表难点案例透析
  • 某集团企业并购与重组案例课程.pptx
  • 13投资银行学案例企业并购.pptx
  • 12投资银行学案例企业并购.pptx
  • 浙江企业投资并购经典案例十例.doc
  • 我国企业海外并购失败案例报告二.doc
  • 阿里巴巴并购饿了么案例分析——互联网企业并购动机与财务风险分析.pdf
  • 企业跨国并购效益指标案例分析.pptx
  • 11投资银行学案例企业并购1.pptx
  • 互联网企业竞争下的生存选择 互联网企业竞争下的生存选择 互联网企业竞争下的生存选择互联网企业竞争下的生存选择 基于滴滴快的合并案例分析基于滴滴快的合并案例分析 基于滴滴快的合并案例分析基于滴滴快的合并案例...
  • 文档
  • 案例分析:企业合并的会计方法选择.doc
  • 互联网生态视角下企业并购财务协同效应研究——基于阿里收购饿了么的案例.pdf
  • SEB国际并购苏泊尔案例并购效果评价,陈攀懿,,企业并购动因多样,并购效果直接反应了企业并购是否成功。对于并购效果的分析,需要从经济和社会效益两方面进行分析。本文以SEB国
  • 我国企业并购过程中的财务风险分析论文,描述我国企业并购案例分析方向中,其中的风险论述
  • 《带你走出合并报表迷宫:合并财务报表编制案例分析》...针对企业不同的合并方式对企业合并的会计处理及合并报表的编制进行介绍,并对案例进行分析。 对合并报表的综合案例进行分析,指导企业全面掌握报表的编制及披露。
  • 金融行业研究方法-投行案例学习(62):非同一控制下企业合并解决之道.pdf
  • 2006年7月25日的国美并购永乐案例正是零售连锁企业高速发展过程中具有里程碑意义的事件。这桩并购案浓缩了中国家电连锁企业的发展历程,集中反映了中国连锁行业的运营特点,对它的研究将带给人们很多对于行业健康发展...
  • 合并报表项的维护 Error! Bookmark not defined. 3. 2. 局部调整结帐 Error! Bookmark not defined. 3. 3. 数据的采集 Error! Bookmark not defined. 3. 4. 合并步骤 Error! Bookmark not defined. 4. 主要报表 ...
  • 企业名录释义 企业名录是指在工商注册的企业法人名录,公司是依照公司法组建并登记的以营利为目的的企业法人。 企业名录的运用 企业名录主要是由国内一些专业的数据库营销公司通过整理、编辑一系列按行业、地区的...

    企业名录释义

    企业名录是指在工商注册的企业法人名录,公司是依照公司法组建并登记的以营利为目的的企业法人。

    企业名录的运用

    企业名录主要是由国内一些专业的数据库营销公司通过整理、编辑一系列按行业、地区的企业名单,以mdb、.xls等数据库格式保存下来提供给信息需求者,其中精确客户数据仓库以自主开发的软件平台做运营,可以使客户更便捷准确的找到目标客户。

    项目需求与难点

    需求

    某大型融资租赁公司,其公司产品包括直接融资租赁和售后回租,其目标客户是中国的中小企业,客户行业为制造业-纺织业,客户分布于中国的西南区、浙、江、沪、粤、闽,对于企业名录定制筛选条件的需求如下:

    • 地区:四川、贵州、重庆、上海、江苏、浙江、广东、福建
    • 注册时间:5年以上
    • 注册资本:100万-1000万
    • 企业状态:存续/在业
    • 失信人、限制消费:无失信记录、无限制消费记录
    • 税收违法(非税收犯罪):无欠税记录
    • 民间借货、金融借款(均为被告):无民间借贷、金融借款纠纷(作为被告)
    • 企业类型(股东):非上市民营(国资背景或上市企业股东持股比例不超过20%);非国有企业及其子公司、非集体所有制、非个体工商户、非中国或世界500强、非事业单位、非上市企业及其子公司
    • 行业:制造业-棉纺织及印染精加工-纺织业-棉纺纱加工、棉织造加工、棉印染精加工/化纤织造加工、化纤织物染整精加工
    • 关联企业不超过10家:企业向上一层法人股东/向下一层投资/法人同样担任法人的其他企业(股比30%以上,在业/存续)
    • 对外投资涉及的行业除本行业外不超过2个:向下一层投资/法人同样担任法人的其他企业(股比30%以上,在业/存续)所处行业

    企业名录筛选难点

    获取该项目的企业名录的难点项:

    • 需要采集调取的企业名录信息字段较多,增加了采集与合并去重的难度;
    • 调用接口较多,行业划分很细分,增加了筛选的难度;
    • 企业图谱关联很详细具体,需要用到大数据及机器学习等人工智能技术。

    解决方案

    探码科技依托强大的数据采集和处理能力,实时采集与监控上千个数据源,并与多个权威的数据渠道进行合作,构建了企业大数据平台。目前平台汇集了3000万+的企业数据,10000+的企业细分纬度,包括工商信息、企业风险信息、经营状况信息、知识产权和投融资信息,包含企业基本信息、投资人、主要人员、对外投资、变更记录、诉讼信息、行政处罚、招投标、注册商标、融资历史、投资事件等信息。

    探码科技为确保提供给客户的企业名录信息全面准确可靠,主要分为以下几个步骤完成:

    首先,结合自研的企业大数据平台并精选其他多个信息渠道,然后采用自研产品Dyson 分布式网络数据采集平台收集企业名录信息,采用强大的机器学习算法进行数据治理,包括合并清洗分析,从源头上确保信息的全面可靠。

    其次,采用强大的数据挖掘技术,深度挖掘企业的关联性,实现企业关联图谱,以满足筛选条件。

    第三,进行交叉校验,针对每个企业名录筛选条件制定校验规则,第一遍程序自动校验,然后人工抽查二次校验确保数据准确。

    最后,以文件形式交付客户进行验收,95%以上的满足了客户需求!

    文章转载探码科技官网案例介绍

    展开全文
  • Flume(一):概述和企业开发案例

    万次阅读 2020-06-18 11:31:32
    Flume概述以及多种企业开发实例

    一、Flume概述

    1.1 Flume定义

    FlumeCloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。
    在这里插入图片描述
    Flume最主要的作用就是,实时读取服务器本地磁盘的数据,将数据写入到HDFS

    1.2 Flume的优点

    1. 可以和任意存储进程集成
    2. 输入的的数据速率大于写入目的存储的速率,Flume会进行缓冲,减小HDFS的压力。
    3. Flume中的事务基于Channel,使用了两个事务模型(sender + receiver),确保消息被可靠发送。

    Flume使用两个独立的事务分别负责从soucrcechannel,以及从channelsink的事件传递。一旦事务中所有的数据全部成功提交到channel,那么source才认为该数据读取完成。同理,只有成功被sink写出去的数据,才会从channel中移除。

    1.3 Flume组成架构

    在这里插入图片描述
    在这里插入图片描述
    Put事务流程

    • doPut:将批数据先写入临时缓冲区putList
    • doCommit:检查channel内存队列是否足够合并。
    • doRollbackchannel内存队列空间不足,回滚数据

    Take事务

    • doTake:先将数据取到临时缓冲区takeList
    • doCommit:如果数据全部发送成功,则清除临时缓冲区takeList
    • doRollback:数据发送过程中如果出现异常,rollback将临时缓冲区takeList中的数据归还给channel内存队列。

    下面我们来详细介绍一下Flume架构中的组件。

    ①Agent

    Agent是一个JVM进程,它以事件的形式将数据从源头送至目的。
    Agent主要有3个部分组成:SourceChannelSink

    ②Source

    Source是负责接收数据到Flume Agent的组件。Source组件可以处理各种类型、各种格式的日志数据,包括avrothriftexecjmsspooling directorynetcatsequence generatorsysloghttplegacy

    ③Channel

    Channel是位于SourceSink之间的缓冲区。因此,Channel允许SourceSink运作在不同的速率上。Channel是线程安全的,可以同时处理几个Source的写入操作和几个Sink的读取操作。

    Flume自带两种ChannelMemory ChannelFile Channel

    Memory Channel:内存中的队列。Memory Channel在不需要关心数据丢失的情景下适用。如果需要关心数据丢失,那么Memory Channel就不应该使用,因为程序死亡、机器宕机或者重启都会导致数据丢失。

    File Channel:将所有事件写到磁盘。因此在程序关闭或机器宕机的情况下不会丢失数据。

    ④Sink

    Sink不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent

    Sink是完全事务性的。在从Channel批量删除数据之前,每个SinkChannel启动一个事务。批量事件一旦成功写出到存储系统或下一个Flume AgentSink就利用Channel提交事务。事务一旦被提交,该Channel从自己的内部缓冲区删除事件。

    Sink组件目的地包括hdfsloggeravrothriftipcfilenullHBasesolr、自定义

    ⑤Event

    Flume数据传输的基本单元,以事件的形式将数据从源头送至目的地。Event由可选的header和载有数据的一个byte array构成。Header是容纳了key-value字符串对的HashMap
    在这里插入图片描述

    1.4 Flume拓扑结构

    ①Flume Agent连接

    这种模式是将多个Flume给顺序连接起来了,从最初的Source开始到最终Sink传送的目的存储系统。此模式不建议桥接过多的Flume数量,Flume数量过多不仅会影响传输速率,而且一旦传输过程中某个节点Flume宕机,会影响整个传输系统。
    在这里插入图片描述
    ②单source,多channel、sink

    Flume支持将事件流向一个或者多个目的地。这种模式将数据源复制到多个Channel中,每个Channel都有相同的数据,Sink可以选择传送的不同的目的地。
    在这里插入图片描述
    ③Flume负载均衡

    Flume支持使用将多个Sink逻辑上分到一个Sink组,Flume将数据发送到不同的Sink,主要解决负载均衡和故障转移问题。
    在这里插入图片描述
    ④ Flume Agent聚合

    这种模式是我们最常见的,也非常实用,日常web应用通常分布在上百个服务器,大者甚至上千个、上万个服务器。产生的日志,处理起来也非常麻烦。用Flume的这种组合方式能很好的解决这一问题,每台服务器部署一个Flume采集日志,传送到一个集中收集日志的Flume,再由此Flume上传到hdfshivehbasejms等,进行日志分析。
    在这里插入图片描述

    1.5 Flume Agent内部原理

    在这里插入图片描述

    1.6 Flume安装

    1. 解压apache-flume-1.7.0-bin.tar.gz/opt/module/目录下
    [root@hadoop100 software]$ tar -zxf apache-flume-1.7.0-bin.tar.gz -C 
    /opt/module/
    

    2.复制conf下的flume-env.sh.templateflume-env.sh,并配置JAVA_HOME

    [root@hadoop100 conf]$ mv flume-env.sh.template flume-env.sh
    [root@hadoop100 conf]$ vi flume-env.sh
    export JAVA_HOME=/opt/module/jdk1.8.0_144
    

    二、企业开发案例

    2.1 监控端口数据

    案例需求: 首先启动Flume任务,监控本机44444端口,服务端;然后通过netcat工具向本机44444端口发送消息,客户端;最后Flume将监听的数据实时显示在控制台。

    实现步骤:

    ① 创建Flume Agent配置文件flume-netcat-logger.conf

    1. Flume目录下创建Job文件夹并进入Job文件夹
    [root@hadoop100 flume]# mkdir job
    [root@hadoop100 flume]# cd job/
    
    1. 创建Flume Agent配置文件flume-netcat-logger.conf
    [root@hadoop100 flume]# vim flume-netcat-logger.conf
    # Name the components on this agent
    # a1 :表示agent的名称
    a1.sources = r1  #r1 :表示a1的输入源
    a1.sinks = k1 #k1 :表示a1的输出目的地
    a1.channels = c1 #c1:表示a1的缓冲区
    
    # Describe/configure the source
    a1.sources.r1.type = netcat #表示a1的输入源类型为netcat端口类型
    a1.sources.r1.bind = localhost #表示a1的监听的主机
    a1.sources.r1.port = 44444 #表示a1的监听的端口号
    
    # Describe the sink
    a1.sinks.k1.type = logger #表示a1的输出目的地是控制台logger类型
    
    # Use a channel which buffers events in memory
    a1.channels.c1.type = memory #表示a1的channel类型是memory内存型
    a1.channels.c1.capacity = 1000 #表示al的channel总容量1000个event
    #表示a1的channel传输时收集到了100条event以后再去提交事务
    a1.channels.c1.transactionCapacity = 100 
    										
    # Bind the source and sink to the channel
    a1.sources.r1.channels = c1 #表示将r1和c1连接起来
    a1.sinks.k1.channel = c1 # 表示将k1和c1连接起来
    

    ②开启Flume监听端口

    第一种写法:

    [root@hadoop100 flume]# bin/flume-ng agent --conf conf/ --name a1 
    --conf-file job/flume-netcat-logger.conf -Dflume.root.logger=INFO,console
    

    第二种写法:

    [root@hadoop100 flume]$ bin/flume-ng agent -c conf/ -n a1 –f 
    job/flume-netcat-logger.conf -Dflume.root.logger=INFO,console
    

    参数说明:

    • --conf conf/:表示配置文件存储在conf/目录
    • --name a1:表示给agent起名为a1
    • --conf-file job/flume-netcat.confflume本次启动读取的配置文件是在job文件夹下的flume-telnet.conf文件。
    • -Dflume.root.logger==INFO,console-D表示flume运行时动态修改flume.root.logger参数属性值,并将控制台日志打印级别设置为INFO级别。日志级别包括:loginfowarnerror

    ③ 使用netcat工具向44444端口发送内容

    [root@hadoop100 flume]$ nc localhost 44444
    Hello Flume
    

    ④在Flume监听页面观察接收数据情况
    在这里插入图片描述

    2.2 实时读取本地文件到HDFS

    案例需求: 实时监控Hive日志,并上传到HDFS

    实现步骤:

    ①Flume要想将数据输出到HDFS,必须持有Hadoop相关jar包

    commons-configuration-1.6.jarhadoop-auth-2.7.2.jarhadoop-common-2.7.2.jarhadoop-hdfs-2.7.2.jarcommons-io-2.4.jarhtrace-core-3.1.0-incubating.jar拷贝到/opt/module/flume/lib文件夹下。

    ②创建flume-file-hdfs.conf文件

    内容如下:

    # Name the components on this agent
    a2.sources = r2
    a2.sinks = k2
    a2.channels = c2
    
    # Describe/configure the source
    a2.sources.r2.type = exec
    a2.sources.r2.command = tail -F /opt/module/hive-1.2.1/logs/hive.log
    a2.sources.r2.shell = /bin/bash -c
    
    # Describe the sink
    a2.sinks.k2.type = hdfs
    a2.sinks.k2.hdfs.path = hdfs://hadoop100:9000/flume/%Y%m%d/%H
    #上传文件的前缀
    a2.sinks.k2.hdfs.filePrefix = logs-
    #是否按照时间滚动文件夹
    a2.sinks.k2.hdfs.round = true
    #多少时间单位创建一个新的文件夹
    a2.sinks.k2.hdfs.roundValue = 1
    #重新定义时间单位
    a2.sinks.k2.hdfs.roundUnit = hour
    #是否使用本地时间戳
    a2.sinks.k2.hdfs.useLocalTimeStamp = true
    #积攒多少个Event才flush到HDFS一次
    a2.sinks.k2.hdfs.batchSize = 1000
    #设置文件类型,可支持压缩
    a2.sinks.k2.hdfs.fileType = DataStream
    #多久生成一个新的文件
    a2.sinks.k2.hdfs.rollInterval = 60
    #设置每个文件的滚动大小
    a2.sinks.k2.hdfs.rollSize = 134217700
    #文件的滚动与Event数量无关
    a2.sinks.k2.hdfs.rollCount = 0
    
    # Use a channel which buffers events in memory
    a2.channels.c2.type = memory
    a2.channels.c2.capacity = 1000
    a2.channels.c2.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a2.sources.r2.channels = c2
    a2.sinks.k2.channel = c2
    

    注意:对于所有与时间相关的转义序列,Event Header中必须存在以"timestamp"key(除非hdfs.useLocalTimeStamp设置为true,此方法会使用TimestampInterceptor自动添加timestamp),即设置a3.sinks.k3.hdfs.useLocalTimeStamp = true

    ③ 执行监控配置

    [root@hadoop100 flume]# bin/flume-ng agent --conf conf/ --name a2 
    --conf-file job/flume-file-hdfs.conf
    

    ④开启Hadoop和Hive并操作Hive产生日志

    [root@hadoop100 hadoop-2.7.2]$ sbin/start-dfs.sh
    [root@hadoop101 hadoop-2.7.2]$ sbin/start-yarn.sh
    
    [root@hadoop100 hive]$ bin/hive
    hive (default)>
    

    ⑤在HDFS上查看文件
    在这里插入图片描述

    2.3 实时读取目录文件到HDFS

    案例需求: 使用Flume监听整个目录的文件

    实现步骤:

    ① 创建配置文件flume-dir-hdfs.conf

    a3.sources = r3
    a3.sinks = k3
    a3.channels = c3
    
    # Describe/configure the source
    a3.sources.r3.type = spooldir
    #监控的地址
    a3.sources.r3.spoolDir = /opt/module/flume-1.7.0/upload
    a3.sources.r3.fileSuffix = .COMPLETED
    a3.sources.r3.fileHeader = true
    #忽略所有以.tmp结尾的文件,不上传
    a3.sources.r3.ignorePattern = ([^ ]*\.tmp)
    
    # Describe the sink
    a3.sinks.k3.type = hdfs
    #文件上传到hdfs的路径
    a3.sinks.k3.hdfs.path = hdfs://hadoop100:9000/flume/upload/%Y%m%d/%H
    #上传文件的前缀
    a3.sinks.k3.hdfs.filePrefix = upload-
    #是否按照时间滚动文件夹
    a3.sinks.k3.hdfs.round = true
    #多少时间单位创建一个新的文件夹
    a3.sinks.k3.hdfs.roundValue = 1
    #重新定义时间单位
    a3.sinks.k3.hdfs.roundUnit = hour
    #是否使用本地时间戳
    a3.sinks.k3.hdfs.useLocalTimeStamp = true
    #积攒多少个Event才flush到HDFS一次
    a3.sinks.k3.hdfs.batchSize = 100
    #设置文件类型,可支持压缩
    a3.sinks.k3.hdfs.fileType = DataStream
    #多久生成一个新的文件
    a3.sinks.k3.hdfs.rollInterval = 60
    #设置每个文件的滚动大小大概是128M
    a3.sinks.k3.hdfs.rollSize = 134217700
    #文件的滚动与Event数量无关
    a3.sinks.k3.hdfs.rollCount = 0
    
    # Use a channel which buffers events in memory
    a3.channels.c3.type = memory
    a3.channels.c3.capacity = 1000
    a3.channels.c3.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a3.sources.r3.channels = c3
    a3.sinks.k3.channel = c3
    

    ②启动监控文件夹命令

    [root@hadoop100 flume]$ bin/flume-ng agent --conf conf/ --name a3 --conf-file job/flume-dir-hdfs.conf
    

    说明:
    加粗样式

    • 不要在监控目录中创建并持续修改文件
    • 上传完成的文件会以.COMPLETED结尾
    • 被监控文件夹每500毫秒扫描一次文件变动

    ②向upload文件夹中添加文件

    [root@hadoop100 flume]$ mkdir upload
    [root@hadoop100 upload]$ vim  test.txt
    123
    456
    

    ③查看HDFS上的数据
    在这里插入图片描述
    在这里插入图片描述
    ④查看upload文件夹
    在这里插入图片描述

    2.4 单数据源多出口案例(选择器)

    案例需求: 使用Flume-1监控文件变动,Flume-1将变动内容传递给Flume-2Flume-2负责存储到HDFS。同时Flume-1将变动内容传递给Flume-3Flume-3负责输出到Local FileSystem
    在这里插入图片描述
    实现步骤:

    ①准备工作

    /opt/module/flume/job目录下创建group1文件夹:
    [root@hadoop100 job]# mkdir group1/

    /opt/module/data/目录下创建flume3文件夹
    [root@hadoop100 data]# mkdir flume3

    ②创建flume-file-flume.conf

    配置1个接收日志文件的source和两个channel、两个sink,分别输送给flume-flume-hdfsflume-flume-dir

    # Name the components on this agent
    a1.sources = r1
    a1.sinks = k1 k2
    a1.channels = c1 c2
    # 将数据流复制给所有channel
    a1.sources.r1.selector.type = replicating
    
    # Describe/configure the source
    a1.sources.r1.type = exec
    a1.sources.r1.command = tail -F /opt/module/hive-1.2.1/logs/hive.log
    a1.sources.r1.shell = /bin/bash -c
    
    # Describe the sink
    # sink端的avro是一个数据发送者
    a1.sinks.k1.type = avro
    a1.sinks.k1.hostname = hadoop100 
    a1.sinks.k1.port = 4141
    
    a1.sinks.k2.type = avro
    a1.sinks.k2.hostname = hadoop100
    a1.sinks.k2.port = 4142
    
    # Describe the channel
    a1.channels.c1.type = memory
    a1.channels.c1.capacity = 1000
    a1.channels.c1.transactionCapacity = 100
    
    a1.channels.c2.type = memory
    a1.channels.c2.capacity = 1000
    a1.channels.c2.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a1.sources.r1.channels = c1 c2
    a1.sinks.k1.channel = c1
    a1.sinks.k2.channel = c2
    

    注:Avro是由Hadoop创始人Doug Cutting创建的一种语言无关的数据序列化和RPC框架。

    ③创建flume-flume-hdfs.conf

    配置上级Flume输出的Source,输出是到HDFSSink

    # Name the components on this agent
    a1.sources = r1
    a1.sinks = k1 k2
    a1.channels = c1 c2
    # 将数据流复制给所有channel
    a1.sources.r1.selector.type = replicating
    
    # Describe/configure the source
    a1.sources.r1.type = exec
    a1.sources.r1.command = tail -F /opt/module/hive-1.2.1/logs/hive.log
    a1.sources.r1.shell = /bin/bash -c
    
    # Describe the sink
    # sink端的avro是一个数据发送者
    a1.sinks.k1.type = avro
    a1.sinks.k1.hostname = hadoop100 
    a1.sinks.k1.port = 4141
    
    a1.sinks.k2.type = avro
    a1.sinks.k2.hostname = hadoop100
    a1.sinks.k2.port = 4142
    
    # Describe the channel
    a1.channels.c1.type = memory
    a1.channels.c1.capacity = 1000
    a1.channels.c1.transactionCapacity = 100
    
    a1.channels.c2.type = memory
    a1.channels.c2.capacity = 1000
    a1.channels.c2.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a1.sources.r1.channels = c1 c2
    a1.sinks.k1.channel = c1
    a1.sinks.k2.channel = c2
    
    [root@hadoop100 group1]# 
    [root@hadoop100 group1]# cat flume-flume-hdfs.conf 
    # Name the components on this agent
    a2.sources = r1
    a2.sinks = k1
    a2.channels = c1
    
    # Describe/configure the source
    # source端的avro是一个数据接收服务
    a2.sources.r1.type = avro
    a2.sources.r1.bind = hadoop100
    a2.sources.r1.port = 4141
    
    # Describe the sink
    a2.sinks.k1.type = hdfs
    a2.sinks.k1.hdfs.path = hdfs://hadoop100:9000/flume2/%Y%m%d/%H
    #上传文件的前缀
    a2.sinks.k1.hdfs.filePrefix = flume2-
    #是否按照时间滚动文件夹
    a2.sinks.k1.hdfs.round = true
    #多少时间单位创建一个新的文件夹
    a2.sinks.k1.hdfs.roundValue = 1
    #重新定义时间单位
    a2.sinks.k1.hdfs.roundUnit = hour
    #是否使用本地时间戳
    a2.sinks.k1.hdfs.useLocalTimeStamp = true
    #积攒多少个Event才flush到HDFS一次
    a2.sinks.k1.hdfs.batchSize = 100
    #设置文件类型,可支持压缩
    a2.sinks.k1.hdfs.fileType = DataStream
    #多久生成一个新的文件
    a2.sinks.k1.hdfs.rollInterval = 600
    #设置每个文件的滚动大小大概是128M
    a2.sinks.k1.hdfs.rollSize = 134217700
    #文件的滚动与Event数量无关
    a2.sinks.k1.hdfs.rollCount = 0
    
    # Describe the channel
    a2.channels.c1.type = memory
    a2.channels.c1.capacity = 1000
    a2.channels.c1.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a2.sources.r1.channels = c1
    a2.sinks.k1.channel = c1
    

    ④创建flume-flume-dir.conf

    配置上级Flume输出的Source,输出是到本地目录的Sink

    # Name the components on this agent
    a3.sources = r1
    a3.sinks = k1
    a3.channels = c2
    
    # Describe/configure the source
    a3.sources.r1.type = avro
    a3.sources.r1.bind = hadoop100
    a3.sources.r1.port = 4142
    
    # Describe the sink
    a3.sinks.k1.type = file_roll
    a3.sinks.k1.sink.directory = /opt/module/data/flume3
    
    # Describe the channel
    a3.channels.c2.type = memory
    a3.channels.c2.capacity = 1000
    a3.channels.c2.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a3.sources.r1.channels = c2
    a3.sinks.k1.channel = c2
    

    ⑤执行配置文件

    [root@hadoop100 flume-1.7.0]$ bin/flume-ng agent --conf conf/ --name a3
     --conf-file job/group1/flume-flume-dir.conf
    
    [root@hadoop100 flume-1.7.0]$ bin/flume-ng agent --conf conf/ --name a2
     --conf-file job/group1/flume-flume-hdfs.conf
    
    [root@hadoop100 flume-1.7.0]$ bin/flume-ng agent --conf conf/ --name a1
     --conf-file job/group1/flume-file-flume.conf
    
    

    ⑥执行Hive命令

    [root@hadoop100 hive]$ bin/hive
    hive (default)> select * from stu;
    

    ⑦检查数据

    HDFS
    在这里插入图片描述

    本地:在这里插入图片描述

    2.5 单数据源多出口案例(Sink组)

    案例需求: 使用Flume-1监控控制台实时输入数据,Flume-1将内容轮训分别传递给Flume-2Flume-3然后在控制台打印。
    在这里插入图片描述
    实现步骤:

    ①准备工作

    /opt/module/flume/jobgroup2文件夹

    [root@hadoop100 job]# mkdir group2
    

    ②创建flume-netcat-flume.conf

    配置1个接收日志文件的source和1个channel、两个sink,分别输送给flume-flume-console1flume-flume-console2

    # Name the components on this agent
    a1.sources = r1
    a1.channels = c1
    a1.sinkgroups = g1
    a1.sinks = k1 k2
    
    # Describe/configure the source
    a1.sources.r1.type = netcat
    a1.sources.r1.bind = localhost
    a1.sources.r1.port = 44444
    
    a1.sinkgroups.g1.processor.type = load_balance
    a1.sinkgroups.g1.processor.backoff = true
    a1.sinkgroups.g1.processor.selector = round_robin
    a1.sinkgroups.g1.processor.selector.maxTimeOut=10000
    
    # Describe the sink
    a1.sinks.k1.type = avro
    a1.sinks.k1.hostname = hadoop100
    a1.sinks.k1.port = 4141
    
    a1.sinks.k2.type = avro
    a1.sinks.k2.hostname = hadoop100
    a1.sinks.k2.port = 4142
    
    # Describe the channel
    a1.channels.c1.type = memory
    a1.channels.c1.capacity = 1000
    a1.channels.c1.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a1.sources.r1.channels = c1
    a1.sinkgroups.g1.sinks = k1 k2
    a1.sinks.k1.channel = c1
    a1.sinks.k2.channel = c1
    

    ③创建flume-flume-console1.conf和flume-flume-console2.conf

    配置上级Flume输出的Source,输出是到本地控制台。

    flume-flume-console1.conf

    # Name the components on this agent
    a2.sources = r1
    a2.sinks = k1
    a2.channels = c1
    
    # Describe/configure the source
    a2.sources.r1.type = avro
    a2.sources.r1.bind = hadoop100
    a2.sources.r1.port = 4141
    
    # Describe the sink
    a2.sinks.k1.type = logger
    
    # Describe the channel
    a2.channels.c1.type = memory
    a2.channels.c1.capacity = 1000
    a2.channels.c1.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a2.sources.r1.channels = c1
    a2.sinks.k1.channel = c1
    

    flume-flume-console2.conf

    # Name the components on this agent
    a3.sources = r1
    a3.sinks = k1
    a3.channels = c2
    
    # Describe/configure the source
    a3.sources.r1.type = avro
    a3.sources.r1.bind = hadoop100
    a3.sources.r1.port = 4142
    
    # Describe the sink
    a3.sinks.k1.type = logger
    
    # Describe the channel
    a3.channels.c2.type = memory
    a3.channels.c2.capacity = 1000
    a3.channels.c2.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a3.sources.r1.channels = c2
    a3.sinks.k1.channel = c2
    

    ④执行配置文件

    [root@hadoop100 flume-1.7.0]#  bin/flume-ng agent --conf conf/ --name a3
    --conf-file job/group2/flume-flume-console2.conf 
    -Dflume.root.logger=INFO,console
    
    [root@hadoop100 flume-1.7.0]#  bin/flume-ng agent --conf conf/ --name a2
    --conf-file job/group2/flume-flume-console1.conf 
    -Dflume.root.logger=INFO,console
    
    [root@hadoop100 flume-1.7.0]#  bin/flume-ng agent --conf conf/ --name a1 
    --conf-file job/group2/flume-netcat-flume.conf
    

    ⑤查看Flume2及Flume3的控制台打印日志
    在这里插入图片描述
    在这里插入图片描述

    2.6 多数据源汇总案例

    案例需求:

    Hadoop100上的Flume-1监控文件/opt/module/group.log
    Hadoop101上的Flume-2监控某一个端口的数据流;
    Flume-1Flume-2将数据发送给hadoop102上的Flume-3Flume-3将最终数据打印到控制台。
    在这里插入图片描述
    实现步骤:

    ①准备工作
    /opt/module/flume/jobgroup3文件夹

    [root@hadoop100 job]# mkdir group3
    

    ②创建flume1-logger-flume.conf

    Hadoop100:配置Source用于监控hive.log文件,配置Sink输出数据到下一级Flume

    # Name the components on this agent
    a1.sources = r1
    a1.sinks = k1
    a1.channels = c1
    
    # Describe/configure the source
    a1.sources.r1.type = exec
    a1.sources.r1.command = tail -F /opt/module/hive-1.2.1/logs/hive.log
    a1.sources.r1.shell = /bin/bash -c
    
    # Describe the sink
    a1.sinks.k1.type = avro
    a1.sinks.k1.hostname = hadoop102
    a1.sinks.k1.port = 4141
    
    # Describe the channel
    a1.channels.c1.type = memory
    a1.channels.c1.capacity = 1000
    a1.channels.c1.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a1.sources.r1.channels = c1
    a1.sinks.k1.channel = c1
    

    ③创建flume2-netcat-flume.conf

    Hadoop101:配置Source监控端口44444数据流,配置Sink数据到下一级Flume

    # Name the components on this agent
    a2.sources = r1
    a2.sinks = k1
    a2.channels = c1
    
    # Describe/configure the source
    a2.sources.r1.type = netcat
    a2.sources.r1.bind = hadoop101
    a2.sources.r1.port = 44444
    
    # Describe the sink
    a2.sinks.k1.type = avro
    a2.sinks.k1.hostname = hadoop102
    a2.sinks.k1.port = 4141
    
    # Use a channel which buffers events in memory
    a2.channels.c1.type = memory
    a2.channels.c1.capacity = 1000
    a2.channels.c1.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a2.sources.r1.channels = c1
    a2.sinks.k1.channel = c1
    

    ④创建flume3-flume-logger.conf

    Hadoop102:配置source用于接收flume1flume2发送过来的数据流,最终合并后sink到控制台。

    # Name the components on this agent
    a3.sources = r1
    a3.sinks = k1
    a3.channels = c1
    
    # Describe/configure the source
    a3.sources.r1.type = avro
    a3.sources.r1.bind = hadoop102
    a3.sources.r1.port = 4141
    
    # Describe the sink
    # Describe the sink
    a3.sinks.k1.type = logger
    
    # Describe the channel
    a3.channels.c1.type = memory
    a3.channels.c1.capacity = 1000
    a3.channels.c1.transactionCapacity = 100
    
    # Bind the source and sink to the channel
    a3.sources.r1.channels = c1
    a3.sinks.k1.channel = c1
    

    ⑤执行配置文件

    [root@hadoop102 flume-1.7.0]#   bin/flume-ng agent --conf conf/ --name a3 
    --conf-file job/group3/flume3-flume-logger.conf
     -Dflume.root.logger=INFO,console
    
    [root@hadoop101 flume-1.7.0]#   bin/flume-ng agent --conf conf/ --name a2 
    --conf-file job/group3/flume2-netcat-flume.conf
    
    [root@hadoop100 flume-1.7.0]#   bin/flume-ng agent --conf conf/ --name a1 
    --conf-file job/group3/flume1-logger-flume.conf
    
    展开全文
  • 移动互联网合并案例分析:宜搜UC合并必将实现双赢 文/王易见    互联网行业已经很久没看到经典的合并案例了,最近有业内人士爆料,宜搜和UC将合并,目前正在洽谈合并事宜。如果两者合并,很可能成为2013年移动...

    移动互联网合并案例分析:宜搜UC合并必将实现双赢
    文/王易见

     

        互联网行业已经很久没看到经典的合并案例了,最近有业内人士爆料,宜搜和UC将合并,目前正在洽谈合并事宜。如果两者合并,很可能成为2013年移动互联领域最大的“合并案”。道理很简单,无论从业务层面、用户规模、产品属性等多个角度分析,二者均具有极强的互补性,相信如果合并完成,新的公司一定会改变2013年的移动互联网格局。

     

        相信对于UC,很多朋友并不陌生,UC以手机浏览器起家,目前在手机浏览器领域已经做到领头羊的位置。相比UC,宜搜似乎要低调一些,很多人或许并不了解这家公司,这家公司成立于2005年,凭借先进的无线数据应用技术和强大的智能搜索系统,该公司已经在无线搜索领域占据一席之地。

     

        数据上看,截至目前,宜搜的日搜索次数近3亿,活跃用户已超过4亿。而在手机浏览器市场,UC拥有全球超过3亿用户,用户月使用量(PV)超过1500亿,二者的合作在数据上拥有很强的可行性,或者说,两家公司都有相当的实力和发展潜力,对于合并相信双方都不会有太多“闲话”。

     

        这是非常难得的一点,因为在企业合并案例中,两家公司的实力往往很悬殊,这可能导致合并以后出现很多弊端,例如管理团队、股份分配等等。但对宜搜和UC来说,这一点几乎不存在,因为两家公司都在各自领域扮演着重要的角色,所以,这是他们合并能实现双赢的第二个因素。

     

        UC和宜搜的产品属性截然不同,一个是浏览器产品,一个是无线搜索,所以从模式上看,二者合作互补性很强。浏览器对搜索的重要性不言而喻,依托于UC,宜搜应该会挖掘到更多的市场份额,当然,他也会提供完善的营销体系,将精准的无线搜索广告嫁接到UC上,帮助UC把流量和用户量转化为真金白银。

     

        举个通俗的例子,UC就好比是汽车的底盘,而宜搜则更像是发动机,发动机离开了底盘不行,而底盘装配上高性能的发动机,汽车的速度会快出许多倍。

     

        另外,二者的合作可能会对无线搜索市场带来巨大的影响,据悉,360有发力移动搜索的迹象,而UC和宜搜的合并可能会对其构成严重的阻击。

     

        值得注意的是,宜搜已经走过8年时间,仍没有IPO动静,事实上,宜搜在2011年完成两轮融资后,有消息称公司内部也在着手准备IPO的事情,只不过为了把公司业务做扎实,宜搜并没有急于上市,而是预计在两年后IPO。2013年正好符合宜搜IPO的计划,同时,和UC合并无疑也让宜搜如虎添翼,相信IPO指日可待。

     

    我的联系方式:
    QQ 543415188
    MSN feitianhanxue@hotmail.com
    Email feitianhanxue@126.com 

    展开全文
  • 企业历年成功案例

    2007-04-20 13:17:32
    案例名称:某知名电梯生产企业全面竞争性研究案例类型:竞争情报所属行业:机械案例简介:委托方与竞争对手A公司同属中国市场上某电梯产品的知名企业,委托方希望通过我方对竞争对手进行产供销人财物的全面监测和...

    案例名称:某知名电梯生产企业全面竞争性研究

    案例类型:竞争情报

    所属行业:机械

    案例简介:委托方与竞争对手A公司同属中国市场上某电梯产品的知名企业,委托方希望通过我方对竞争对手进行产供销人财物的全面监测和分析,为自身发展提供决策依据,规避潜在的竞争风险。

    案例名称:两家马达保护继电器国际品牌在华销售与营销状况竞争性研究

    案例类型:竞争情报

    所属行业:电力

    案例简介:委托方是中国马达保护继电器市场的领导品牌,但也受到了来自欧洲同类品牌的冲击。为了保持领先地位,委托方希望了解两家主要的欧洲竞争品牌在华销售与营销状况。本项目对目标对象的销量、销售渠道、销售政策、客户组成等展开了深入的研究,帮助委托方进一步明确了市场细分和销售管理策略。

    案例名称:在华日资自动化办公设备生产商销售渠道竞争性研究

    案例类型:竞争情报

    所属行业:机械

    案例简介:国内办公设备行业基本被日资品牌垄断,而被调查对象在国内研发生产的新机型在全球市场获得了巨大成功,委托方希望全面了解该对象在华的生产、研发、销售情况,掌握竞争对手的动向,以便制定相应的竞争策略。

    案例名称:某知名日本服装企业审慎性研究

    案例类型:审慎性研究

    所属行业:纺织

    案例简介:目标对象是委托方的重要供应商,而市场传闻该对象的主营业务会有大的调整,本项目深入研究了目标对象的历史沿革、业务现状、各种矛盾和背后的原因,从而解决了委托方的疑惑,降低了交易风险。

    案例名称:国内某特种纤维产品三家生产企业审慎性研究

    案例类型:审慎性研究

    所属行业:化工

    案例简介:委托方为一家国际知名化工企业,拥有目标产品(某特种纤维)成熟的生产技术,而此产品由于涉及某政策性进入壁垒,委 托方需要寻求一家合适的合作伙伴,以合资的方式进入国内市场。我们通过对国内三家拥有此产品成熟生产技术的生产厂商的审慎性研究,尤其是对三家企业背景、技术来源、生产经营和财务情况的综合对比分析,向委托方给出了中肯的决策意见,有效促成了委托方并购战略。

    案例名称:中国工业涂料市场环境研究

    案例类型:市场环境研究

    所属行业:化工

    案例简介:委托方作为国际知名的涂料树脂供应商,欲对其下游的工业涂料厂商进行并购,故希望了解中国工业涂料市场环境,作为战略发展支持。我方为委托方分析了中国工业涂料市场规模和市场变化趋势,研究了下游七类工业涂料厂商场的特征和发展趋势,帮助委托方明确了拟收购的重点领域。

    案例名称:珠江三角洲批发物流市场进入研究

    案例类型:市场进入研究

    所属行业:日用品流通

    案例简介:委托方是日本某知名的批发物流企业,准备进入中国珠江三角洲区域市场。我方帮助委托方在了解珠江三角洲经济环境的基础上,深入研究了日用品流通贸易业中厂商、批发商、零售商、物流公司等多个主体的特征,提出了进入珠江三角洲地区市场的模式。

    案例名称:国内15家咖啡生产企业名录调查

    案例类型:企业名录调查

    所属行业:食品

    案例简介:日本某咖啡原料生产企业注意到中国国内咖啡原料市场的巨大潜力,希望可以通过调查找出使用咖啡豆及咖啡粉的咖啡产品生产厂商,向其推销自己的产品。我方经过探索性的调查方法为委托方找到了烘焙咖啡、速溶&三合一和咖啡饮料共三类咖啡企业客户,有效地促进了委托方在中国大陆的市场开拓。

    [@more@]

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9630892/viewspace-911672/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/9630892/viewspace-911672/

    展开全文
  • 剖析华为案例洞察企业经营管理模型一、目标市场与产品策略1、产品:华为以通信为核心,产品覆盖电信运营商、企业通信、个人通信三类大市场,从硬件到软件到售前售后服务全都提供。现在又开展云存储/云计算/云安全...
  • 企业合并、重组带来新机遇的同时,也面临着体量激增、企业架构重大调整等挑战。如何能快速、有效地整合信息化系统,直接决定着并购后新企业获取信息的速度和准确性,决定着新企业经营的成本和效率。原有企业的OA在...
  • 本土产品开发能力本土产品开发能力创新网络与后发企业逆向创新的案例研究创新网络与后发企业逆向创新的案例研究三三 本土产品开发能力本土产品开发能力创新网络与后发企业逆向创新的案例研究创新网络与后发企业逆向...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,689
精华内容 8,675
关键字:

企业合并案例