数据处理 订阅
数据(Data)是对事实、概念或指令的一种表达形式,可由人工或自动化装置进行处理。数据经过解释并赋予一定的意义之后,便成为信息。数据处理(data processing)是对数据的采集、存储、检索、加工、变换和传输。数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的数据。数据处理是系统工程和自动控制的基本环节。数据处理贯穿于社会生产和社会生活的各个领域。数据处理技术的发展及其应用的广度和深度,极大地影响了人类社会发展的进程。 展开全文
数据(Data)是对事实、概念或指令的一种表达形式,可由人工或自动化装置进行处理。数据经过解释并赋予一定的意义之后,便成为信息。数据处理(data processing)是对数据的采集、存储、检索、加工、变换和传输。数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的数据。数据处理是系统工程和自动控制的基本环节。数据处理贯穿于社会生产和社会生活的各个领域。数据处理技术的发展及其应用的广度和深度,极大地影响了人类社会发展的进程。
信息
处理软件
管理数据的文件、数据库系统等
外文名
data processing
领    域
社会生产和社会生活
中文名
数据处理
步    骤
对数据的采集、存储、检索等
目    的
转化为有用信息
数据处理基本信息
处理软件数据处理离不开软件的支持,数据处理软件包括:用以书写处理程序的各种程序设计语言及其编译程序,管理数据的文件系统和数据库系统,以及各种数据处理方法的应用软件包。为了保证数据安全可靠,还有一整套数据安全保密的技术。方式根据处理设备的结构方式、工作方式,以及数据的时间空间分布方式的不同,数据处理有不同的方式。不同的处理方式要求不同的硬件和软件支持。每种处理方式都有自己的特点,应当根据应用问题的实际环境选择合适的处理方式。数据处理主要有四种分类方式①根据处理设备的结构方式区分,有联机处理方式和脱机处理方式。②根据数据处理时间的分配方式区分,有批处理方式、分时处理方式和实时处理方式。③根据数据处理空间的分布方式区分,有集中式处理方式和分布处理方式。④根据计算机中央处理器的工作方式区分,有单道作业处理方式、多道作业处理方式和交互式处理方式。数据处理对数据(包括数值的和非数值的)进行分析和加工的技术过程。包括对各种原始数据的分析、整理、计算、编辑等的加工和处理。比数据分析含义广。随着计算机的日益普及,在计算机应用领域中,数值计算所占比重很小,通过计算机数据处理进行信息管理已成为主要的应用。如测绘制图管理、仓库管理、财会管理、交通运输管理,技术情报管理、办公室自动化等。在地理数据方面既有大量自然环境数据(土地、水、气候、生物等各类资源数据),也有大量社会经济数据(人口、交通、工农业等),常要求进行综合性数据处理。故需建立地理数据库,系统地整理和存储地理数据减少冗余,发展数据处理软件,充分利用数据库技术进行数据管理和处理。
收起全文
精华内容
下载资源
问答
  • 数据处理
    千次阅读
    2019-05-04 12:27:23

    说起大数据处理,一切都起源于Google公司的经典论文:《MapReduce:Simplied Data Processing on Large Clusters》。在当时(2000年左右),由于网页数量急剧增加,Google公司内部平时要编写很多的程序来处理大量的原始数据:爬虫爬到的网页、网页请求日志;计算各种类型的派生数据:倒排索引、网页的各种图结构等等。这些计算在概念上很容易理解,但由于输入数据量很大,单机难以处理。所以需要利用分布式的方式完成计算,并且需要考虑如何进行并行计算、分配数据和处理失败等等问题。

      针对这些复杂的问题,Google决定设计一套抽象模型来执行这些简单计算,并隐藏并发、容错、数据分布和均衡负载等方面的细节。受到Lisp和其它函数式编程语言map、reduce思想的启发,论文的作者意识到许多计算都涉及对每条数据执行map操作,得到一批中间key/value对,然后利用reduce操作合并那些key值相同的k-v对。这种模型能很容易实现大规模并行计算。

    对大数据以及人工智能概念都是模糊不清的,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。从java和linux入手,其后逐步的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相关知识一一分享!


     


      事实上,与很多人理解不同的是,MapReduce对大数据计算的最大贡献,其实并不是它名字直观显示的Map和Reduce思想(正如上文提到的,Map和Reduce思想在Lisp等函数式编程语言中很早就存在了),而是这个计算框架可以运行在一群廉价的PC机上。MapReduce的伟大之处在于给大众们普及了工业界对于大数据计算的理解:它提供了良好的横向扩展性和容错处理机制,至此大数据计算由集中式过渡至分布式。以前,想对更多的数据进行计算就要造更快的计算机,而现在只需要添加计算节点。

      话说当年的Google有三宝:MapReduce、GFS和BigTable。但Google三宝虽好,寻常百姓想用却用不上,原因很简单:它们都不开源。于是hadoop应运而生,初代Hadoop的MapReduce和HDFS即为Google的MapReduce和GFS的开源实现(另一宝BigTable的开源实现是同样大名鼎鼎的HBase)。自此,大数据处理框架的历史大幕正式的缓缓拉开。

      一、基础

      1. 大数据的定义

      “大数据”一词的确切定义其实是很难给出的,因为不同的人(供应商、从业者、商业公司等)对它的理解也并不完全一致。通常来讲,大数据是:

      1) 大数据集

      2) 用于处理大数据集的某类技术

      此处的“大数据集”是指一个数据集的数据量太大以至于无法使用传统工具或单机方式来处理和存储,而处理技术包括数据接入、数据持久化存储、数据计算和分析、数据展示(可视化)等等。

      2. 大数据的特征

      大数据系统的基本需求与传统系统并没有本质上的不同。但大数据系统虽然具有海量的数据规模,但是对数据的接入和处理速度上也有较高的要求,而且在每个阶段都要对数据进行处理。这些特点还是为设计解决方案时提供了新的挑战。

      在2001年,美国Gartner公司的Doug Laney首先提出了“3V”模型来描述大数据处理系统与传统数据处理系统的不同:

      Volume

      待处理数据的规模在很大程度决定了系统是否为大数据系统。大数据系统中的数据规模可能比传统处理系统中的数据集大几个数量级,这也为数据处理和存储带来了更多的挑战。由于数据处理和存储等工作超出了单台计算机所能达到的性能极限,所以大数据系统通常采用集群方式。集群方式更加考验资源的分配和协调,集群管理和任务分配算法变得越来越重要。

      Velocity

      大数据与其他数据系统另一个显着的差异体现在数据的“流动”速度。在大数据系统中,数据经常从多种数据源流入系统,并且以一种近实时的方式进行处理。数据被持续不断的接入、修改、处理和分析以便能够跟得上新数据的接入速度。由于近实时处理可以尽早的提供有价值的信息,目前很多商业公司更加青睐于实时处理系统而不是传统的批处理系统。

      Variety

      大数据系统的问题通常是其他系统所不具备的,因为它所处理的数据来源广泛。数据源可以是应用程序的日志信息,也可以是社交媒体的用户信息,甚至是物理设备传感器的采集数据。不论何种数据,大数据系统的目标都是在海量数据中寻找有用的数据。

      3. 大数据处理流程

      那么大数据系统实际上是如何处理数据的呢?虽然不同公司的架构设计不尽相同,但我们可以总结出一个基本的流程。下面介绍的流程虽然不是适用于所有情况,但它们确实被广泛使用。大数据处理的基本流程是:

      接入数据到系统中 将数据持久化到存储系统 计算和分析数据 展示结果(可视化)

      4. 大数据处理框架的定义

      说完了大数据,我们来说说本文的重点——大数据处理框架。大数据处理框架负责对大数据系统中的数据进行计算。数据包括从持久存储中读取的数据或通过消息队列等方式接入到系统中的数据,而计算则是从数据中提取信息的过程。除了大数据处理框架,有些同学可能还听到过“大数据计算框架”、“大数据框架”,这些术语没有严格的区分,但基本可以理解为是一种东西,只不过是对“big data processing framework”不同的翻译(大数据框架是“big data framework”的翻译)。

      还有一个名词是“大数据处理引擎”,那么这个“引擎”和我们说的“框架”又有什么关系呢?其实并没有区分他们的权威的定义,但一般来说,前者是实际负责处理操作的组件,而后者可以理解为用来完成同样工作的一系列组件。比如Apache Hadoop可以看做是以MapReduce为默认处理引擎的处理框架。

      二、数据处理框架分类

      不论是系统中存在的历史数据,还是持续不断接入系统中的实时数据,只要数据是可访问的,我们就可以对数据进行处理。按照对所处理的数据形式和得到结果的时效性分类,数据处理框架可以分为两类:

      1、批处理系统

      2、流处理系统

      批处理是一种用来计算大规模数据集的方法。批处理的过程包括将任务分解为较小的任务,分别在集群中的每个计算机上进行计算,根据中间结果重新组合数据,然后计算和组合最终结果。当处理非常巨大的数据集时,批处理系统是最有效的。

      典型的批处理系统就是Apache Hadoop。而流处理则对由连续不断的单条数据项组成的数据流进行操作,注重数据处理结果的时效性。典型的流处理系统有Apache Storm,Apache Samza。还有一种系统,同时具备批处理与流处理的能力,这种称为混合处理系统,比如Apache Spark,Apache Flink。接下来我们来详细介绍这三种处理系统。

      三、批处理系统

      批处理系统在大数据世界中有着悠久的历史。批处理系统主要操作大量的、静态的数据,并且等到全部处理完成后才能得到返回的结果。批处理系统中的数据集一般符合以下特征:

      有限: 数据集中的数据必须是有限的(无限的数据一批就处理不完了啊。连续不断的数据一般会使用流处理系统来进行处理,我们后面会讲到)

      持久: 批处理系统处理的数据一般存储在持久存储系统上(比如硬盘上、数据库中)

      海量: 极海量的数据通常只能使用批处理系统来处理。批处理系统在设计之初就充分的考虑了数据量巨大的问题,实际上批处理系统也是为此而生的。

      由于批处理系统在处理海量的持久数据方面表现出色,所以它通常被用来处理历史数据,很多OLAP(在线分析处理)系统的底层计算框架就是使用的批处理系统。但是由于海量数据的处理需要耗费很多时间,所以批处理系统一般不适合用于对延时要求较高的场景。

      Apache Hadoop

      说起大数据处理框架,永远也绕不开Hadoop。Hadoop是首个在开源社区获得极大关注的大数据处理框架,在很长一段时间内,它几乎可以作为大数据技术的代名词。在2.0版本以后,Hadoop由以下组件组成:

      Hadoop分布式文件系统HDFS:HDFS是一种分布式文件系统,它具有很高的容错性,适合部署在廉价的机器集群上。HDFS能提供高吞吐量的数据访问,非常适合在大规模数据集上使用。它可以用于存储数据源,也可以存储计算的最终结果。

      资源管理器YARN:YARN可以为上层应用提供统一的资源管理和调度,它可以管理服务器的资源(主要是CPU和内存),并负责调度作业的运行。在Hadoop中,它被设计用来管理MapReduce的计算服务。但现在很多其他的大数据处理框架也可以将YARN作为资源管理器,比如Spark。

      MapReduce:即为Hadoop中默认的数据处理引擎,也是Google的MapReduce论文思想的开源实现。使用HDFS作为数据源,使用YARN进行资源管理。

      从今天的眼光来看,MapReduce作为Hadoop默认的数据处理引擎,存在着很多的不足。比如:编程模型抽象程度较低,仅支持Map和Reduce两种操作,需要手工编写大量的代码;Map的中间结果需要写入磁盘,多个MR之间需要使用HDFS交换数据,因此不适合迭代计算(机器学习、图计算);任务的启动和调度开销较大等。随着更多高性能处理引擎的发展,目前在企业中使用MapReduce进行计算的应用已经呈下降趋势(HDFS及YARN仍然被广泛使用),但虽然如此,MapReduce作为最早的大数据处理引擎,仍然值得被我们铭记。

      四、流处理系统

      批处理系统好理解,那什么是流处理系统呢?小学的时候我们都做过这么一道数学题:一个水池有一个进水管和一个出水管,只打开进水管8个小时充满水,只打开出水管6个小时流光水,那么同时打开进水管和出水管,水池多长时间充满水?

      好吧,这道题的答案是永远也充不满……因为出水管出水比较快嘛。流处理系统就相当于这个水池,把流进来的水(数据)进行加工,比如加盐让它变成盐水,然后再把加工过的水(数据)从出水管放出去。这样,数据就像水流一样永不停止,而且在水池中就被处理过了。所以,这种处理永不停止的接入数据的系统就叫做流处理系统。

      流处理系统与批处理系统所处理的数据不同之处在于,流处理系统并不对已经存在的数据集进行操作,而是对从外部系统接入的的数据进行处理。流处理系统可以分为两种:

      逐项处理: 每次处理一条数据,是真正意义上的流处理。

      微批处理: 这种处理方式把一小段时间内的数据当作一个微批次,对这个微批次内的数据进行处理。

      不论是哪种处理方式,其实时性都要远远好于批处理系统。因此,流处理系统非常适合应用于对实时性要求较高的场景,比如日志分析,设备监控、网站实时流量变化等等。由于很多情况下,我们想要尽快看到计算结果,所以近些年流处理系统的应用越来越广泛。下面我们来了解两种流处理系统。

      Apache Storm

      Apache Storm是一种侧重于低延迟的流处理框架,它可以处理海量的接入数据,以近实时方式处理数据。Storm延时可以达到亚秒级。Storm含有如下关键概念:

      Topology:Storm topology中封装了实时应用程序的逻辑。Storm topology类似于MapReduce作业,但区别是MapReduce最终会完成,而topology则会一直运行(除非被强制停止)。Topology是由spouts和bolts组成的DAG(有向无环图)。

      Stream:Stream是一种不断被接入Storm中的无界的数据序列。

      Spout:Spout是topology中Stream的源。Spout从外部数据源读取数据并接入到Strom系统中

      Bolt:Bolt用于Storm中的数据处理,它可以进行过滤、聚合、连接等操作。将不同的bolt连接组成完整的数据处理链条,最后一个bolt用来输出(到文件系统或数据库等)。

      Storm的基本思想是使用spout拉取stream(数据),并使用bolt进行处理和输出。默认情况下Storm提供了“at least once”的保证,即每条数据被至少消费一次。当一些特殊情况(比如服务器故障等)发生时,可能会导致重复消费。为了实现“exactly once”(即有且仅有一次消费),Storm引入了Trident。Trident可以将Storm的单条处理方式改变为微批处理方式,但同时也会对Storm的处理能力产生一定的影响。

      值得一提的是,一些国内的公司在Storm的基础上进行了改进,为推动流处理系统的发展做出了很大贡献。阿里巴巴的JStorm参考了Storm,并在网络IO、线程模型、资源调度及稳定性上做了改进。而华为的StreamCQL则为Storm提供了SQL查询语义。

      Apache Samza

      提到Apache Samza,就不得不提到当前最流行的大数据消息中间件:Apache Kafka。Apache Kafka是一个分布式的消息中间件系统,具有高吞吐、低延时等特点,并且自带了容错机制。以下是Kafka的关键概念:

      Broker:由于Kafka是分布式消息中间件,所以需要多个节点来存储数据。Broker即为Kafka集群中的单个节点。

      Topic:用于存储写入Kafka的数据流。如同它的字面含义——主题,不同主题的数据流最好写入不同的topic,方便后续的处理。

      Partition:每个topic都有1到多个partition,便于分散到不同的borker中。多个partition的数据合并在一起组成了topic完整的数据。

      Producer:消息的生产者,用来将消息写入到Kafka集群。

      Consumer:消息的消费者,用来读取Kafka中的消息并进行处理。

      虽然Kafka被广泛应用于各种流处理系统做数据源,但Samza可以更好的发挥Kafka架构的优势。根据官网的解释,Samza由三个层次组成:

      数据流层 执行层 处理层 支持三个层次的组件分别为: Kafka YARN Samza API

      也就是说,Samza使用Kafka提供了数据流,使用YARN进行资源管理,自身仅提供了操作数据流的API。Samza对Kafka和YARN的依赖在很多方面上与MapReduce对HDFS和YARN的依赖相似。

      如果已经拥有Hadoop集群和Kafka集群环境,那么使用Samza作为流处理系统无疑是一个非常好的选择。由于可以很方便的将处理过的数据再次写入Kafka,Samza尤其适合不同团队之间合作开发,处理不同阶段的多个数据流。

      五、混合处理系统:批处理和流处理

      一些处理框架既可以进行批处理,也可以进行流处理。这些框架可以使用相同或相关的API处理历史和实时数据。当前主流的混合处理框架主要为Spark和Flink。

      虽然专注于一种处理方式可能非常适合特定场景,但是混合框架为数据处理提供了通用的解决方案。

      Apache Spark

      如果说如今大数据处理框架处于一个群星闪耀的年代,那Spark无疑就是所有星星中最闪亮的那一颗。Spark由加州大学伯克利分校AMP实验室开发,最初的设计受到了MapReduce思想的启发,但不同于MapReduce的是,Spark通过内存计算模型和执行优化大幅提高了对数据的处理能力(在不同情况下,速度可以达到MR的10-100倍,甚至更高)。相比于MapReduce,Spark具有如下优点:

      提供了内存计算模型RDD(Resilient Distributed Dataset,弹性分布式数据集),将数据读入内存中生成一个RDD,再对RDD进行计算。并且每次计算结果可以缓存在内存中,减少了磁盘IO。因此很适用于迭代计算。

      不同于MapReduce的MR模型,Spark采用了DAG编程模型,将不同步骤的操作串联成一个有向无环图,可以有效减少任务间的数据传递,提高了性能。

      提供了丰富的编程模型,可以轻松实现过滤、连接、聚合等操作,代码量相比MapReduce少到令人发指,因此可以提高开发人员的生产力。

      支持Java、Scala、Python和R四种编程语言,为不同语言的使用者降低了学习成本。

      而Spark的流处理能力,则是由Spark Streaming模块提供的。Spark在设计之初与MapReduce一样是用于批处理系统,为了适应于流处理模式,Spark提出了微批次(Micro-Batch)的概念,即把一小段时间内的接入数据作为一个微批次来处理。这样做的优点是在设计Spark Streaming时可以很大程度上重用批处理模块(Spark Core)的代码,开发人员也不必学习两套编程模型。但缺点就是,与Storm等原生的流处理系统相比,Spark Streaming的延时会相对高一些。

      除了最初开发用于批处理的Spark Core和用于流处理的Spark Streaming,Spark还提供了其他编程模型用于支持图计算(GraphX)、交互式查询(Spark SQL)和机器学习(MLlib)。

      但Spark也不是没有缺点。在批处理领域,由于内存是比硬盘更昂贵的资源,所以Spark集群的成本比MapReduce集群更高。而在流处理领域,微批次的架构使得它的延时要比Storm等流处理系统略高。不过瑕不掩瑜,Spark依然是如今最炙手可热的数据处理框架。

      Apache Flink

      有趣的是,同样作为混合处理框架,Flink的思想与Spark是完全相反的:Spark把流拆分成若干个小批次来处理,而Flink把批处理任务当作有界的流来处理。其本质原因是,Spark最初是被设计用来进行批处理的,而Flink最初是被设计用来进行流处理的。这种流处理优先的方式叫做Kappa架构,与之相对的使用批处理优先的架构叫做Lambda架构。Kappa架构会使用处理流的方式处理一切,以此来简化编程模型。这一切是在最近流处理引擎逐渐成熟起来才有可能实现的。

      Flink的流处理模型将逐项输入的数据作为真实的流处理。Flink提供了DataStream API用于处理无尽的数据流。Flink的基本组件包括:

      Stream:Stream是流过系统的不可变的、无界的数据集

      Operator:Operator用来操作数据流以产生新的数据流(stream)

      Source:Source是数据流(stream)进入系统的入口

      Sink:Sink是数据流(stream)流出Flink系统后的位置。

      它可能是数据库或到其他系统的连接器

      Flink的流处理思想与Storm类似,以source接入数据,通过不同的operator进行transformation,最后输出到sink。

      Flink的提供了DataSet API用于批处理。Flink的批处理在很大程度上可以看作是流处理的一种扩展,它读取在持久存储系统上的数据,并把去除的数据集当成一个有边界的流来处理。

      与Spark相同,Flink也提供了较为完整的数据处理方式。除了上面介绍的流处理(DataStream API)和批处理(DataSet API)之外,Flink还提供了类SQL查询(Table API)、图计算(Gelly)和机器学习库(Flink ML)。而令人惊讶的是,在很多性能测试中,Flink甚至略优于Spark。

      在目前的数据处理框架领域,Flink可谓独树一帜。虽然Spark同样也提供了批处理和流处理的能力,但Spark流处理的微批次架构使其响应时间略长。Flink流处理优先的方式实现了低延迟、高吞吐和真正逐条处理。

      同样,Flink也并不是完美的。Flink目前最大的缺点就是缺乏在大型公司实际生产项目中的成功应用案例。相对于Spark来讲,它还不够成熟,社区活跃度也没有Spark那么高。但假以时日,Flink必然会改变数据处理框架的格局。

      六、大数据处理框架的选择

      1. 对于初学者

      由于Apache Hadoop在大数据领域的广泛使用,因此仍推荐作为初学者学习数据处理框架的首选。虽然MapReduce因为性能原因以后的应用会越来越少,但是YARN和HDFS依然作为其他框架的基础组件被大量使用(比如HBase依赖于HDFS,YARN可以为Spark、Samza等框架提供资源管理)。学习Hadoop可以为以后的进阶打下基础。

      Apache Spark在目前的企业应用中应该是当之无愧的王者。在批处理领域,虽然Spark与MapReduce的市场占有率不相上下,但Spark稳定上升,而MapReduce却稳定下降。而在流处理领域,Spark Streaming与另一大流处理系统Apache Storm共同占据了大部分市场(当然很多公司会使用内部研发的数据处理框架,但它们多数并不开源)。伯克利的正统出身、活跃的社区以及大量的商用案例都是Spark的优势。除了可用于批处理和流处理系统,Spark还支持交互式查询、图计算和机器学习。Spark在未来几年内仍然会是大数据处理的主流框架,推荐同学们认真学习。

      另一个作为混合处理框架的Apache Flink则潜力无限,被称作“下一代数据处理框架”。虽然目前存在社区活跃度不够高、商用案例较少等情况,不过“是金子总会发光”,如果Flink能在商业应用上有突出表现,则可能挑战Spark的地位。

      2. 对于企业应用

      如果企业中只需要批处理工作,并且对时间并不敏感,那么可以使用成本较其他解决方案更低的Hadoop集群。

      如果企业仅进行流处理,并且对低延迟有着较高要求,Storm更加适合,如果对延迟不非常敏感,可以使用Spark Streaming。而如果企业内部已经存在Kafka和Hadoop集群,并且需要多团队合作开发(下游团队会使用上游团队处理过的数据作为数据源),那么Samza是一个很好的选择。

      如果需要同时兼顾批处理与流处理任务,那么Spark是一个很好的选择。混合处理框架的另一个好处是,降低了开发人员的学习成本,从而为企业节约人力成本。Flink提供了真正的流处理能力并且同样具备批处理能力,但商用案例较少,对于初次尝试数据处理的企业来说,大规模使用Flink存在一定风险。

    更多相关内容
  • 数据处理流程

    万次阅读 多人点赞 2019-02-21 16:53:13
    数据处理流程 1. 数据处理流程 网站流量日志数据分析是一个纯粹的数据分析项目,其整体流程基本上就是依据数据的处理流程进行。有以下几个大的步骤: 1.1 数据采集     &...

    大数据处理流程

    数据处理流程
    1. 数据处理流程
    网站流量日志数据分析是一个纯粹的数据分析项目,其整体流程基本上就是依据数据的处理流程进行。有以下几个大的步骤:
    1.1 数据采集
            数据采集概念,目前行业会有两种解释:一是数据从无到有的过程(web服务器打印的日志、自定义采集的日志等)叫做数据采集;另一方面也有把通过使用Flume等工具把数据采集到指定位置的这个过程叫做数据采集。
    关于具体含义要结合语境具体分析,明白语境中具体含义即可。
    1.2 数据预处理
            通过mapreduce程序对采集到的原始日志数据进行预处理,比如清洗,格式整理,滤除脏数据等,并且梳理成点击流模型数据。
    1.3 数据入库
            将预处理之后的数据导入到HIVE仓库中相应的库和表中。
    1.4 数据分析
            项目的核心内容,即根据需求开发ETL分析语句,得出各种统计结果。
    1.5 数据展现
            将分析所得数据进行数据可视化,一般通过图表进行展示。

    大数据流程

    扩展:
    1、数据处理主要技术

            Sqoop:作为一款开源的离线数据传输工具,主要用于Hadoop(Hive) 与传统数据库(MySql,PostgreSQL)间的数据传递。它可以将一个关系数据库中数据导入Hadoop的HDFS中,也可以将HDFS中的数据导入关系型数据库中。

            Flume:实时数据采集的一个开源框架,它是Cloudera提供的一个高可用用的、高可靠、分布式的海量日志采集、聚合和传输的系统。目前已经是Apache的顶级子项目。使用Flume可以收集诸如日志、时间等数据并将这些数据集中存储起来供下游使用(尤其是数据流框架,例如Storm)。和Flume类似的另一个框架是Scribe(FaceBook开源的日志收集系统,它为日志的分布式收集、统一处理提供一个可扩展的、高容错的简单方案)

            Kafka:通常来说Flume采集数据的速度和下游处理的速度通常不同步,因此实时平台架构都会用一个消息中间件来缓冲,而这方面最为流行和应用最为广泛的无疑是Kafka。它是由LinkedIn开发的一个分布式消息系统,以其可以水平扩展和高吞吐率而被广泛使用。目前主流的开源分布式处理系统(如Storm和Spark等)都支持与Kafka 集成。Kafka是一个基于分布式的消息发布-订阅系统,特点是速度快、可扩展且持久。与其他消息发布-订阅系统类似,Kafka可在主题中保存消息的信息。生产者向主题写入数据,消费者从主题中读取数据。作为一个分布式的、分区的、低延迟的、冗余的日志提交服务。和Kafka类似消息中间件开源产品还包括RabbiMQ、ActiveMQ、ZeroMQ等。

            MapReduce是Google公司的核心计算模型,它将运行于大规模集群上的复杂并行计算过程高度抽象为两个函数:map和reduce。MapReduce最伟大之处在于其将处理大数据的能力赋予了普通开发人员,以至于普通开发人员即使不会任何的分布式编程知识,也能将自己的程序运行在分布式系统上处理海量数据。

            Hive:MapReduce将处理大数据的能力赋予了普通开发人员,而Hive进一步将处理和分析大数据的能力赋予了实际的数据使用人员(数据开发工程师、数据分析师、算法工程师、和业务分析人员)。Hive是由Facebook开发并贡献给Hadoop开源社区的,是一个建立在Hadoop体系结构上的一层SQL抽象。Hive提供了一些对Hadoop文件中数据集进行处理、查询、分析的工具。它支持类似于传统RDBMS的SQL语言的查询语言,一帮助那些熟悉SQL的用户处理和查询Hodoop在的数据,该查询语言称为Hive SQL。Hive SQL实际上先被SQL解析器解析,然后被Hive框架解析成一个MapReduce可执行计划,并按照该计划生产MapReduce任务后交给Hadoop集群处理。

            Spark:尽管MapReduce和Hive能完成海量数据的大多数批处理工作,并且在打数据时代称为企业大数据处理的首选技术,但是其数据查询的延迟一直被诟病,而且也非常不适合迭代计算和DAG(有限无环图)计算。由于Spark具有可伸缩、基于内存计算能特点,且可以直接读写Hadoop上任何格式的数据,较好地满足了数据即时查询和迭代分析的需求,因此变得越来越流行。Spark是UC Berkeley AMP Lab(加州大学伯克利分校的 AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,它拥有Hadoop MapReduce所具有的优点,但不同MapReduce的是,Job中间输出结果可以保存在内存中,从而不需要再读写HDFS ,因此能更好适用于数据挖掘和机器学习等需要迭代的MapReduce算法。Spark也提供类Live的SQL接口,即Spark SQL,来方便数据人员处理和分析数据。Spark还有用于处理实时数据的流计算框架Spark Streaming,其基本原理是将实时流数据分成小的时间片段(秒或几百毫秒),以类似Spark离线批处理的方式来处理这小部分数据。

            Storm:MapReduce、Hive和Spark是离线和准实时数据处理的主要工具,而Storm是实时处理数据的。Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架。Storm对于实时计算的意义相当于Hadoop对于批处理的意义。Hadoop提供了Map和Reduce原语,使对数据进行批处理变得非常简单和优美。同样,Storm也对数据的实时计算提供了简单的Spout和Bolt原语。Storm集群表面上和Hadoop集群非常像,但是在Hadoop上面运行的是MapReduce的Job,而在Storm上面运行的是Topology(拓扑)。Storm拓扑任务和Hadoop MapReduce任务一个非常关键的区别在于:1个MapReduce Job最终会结束,而1一个Topology永远运行(除非显示的杀掉它,),所以实际上Storm等实时任务的资源使用相比离线MapReduce任务等要大很多,因为离线任务运行完就释放掉所使用的计算、内存等资源,而Storm等实时任务必须一直占有直到被显式的杀掉。Storm具有低延迟、分布式、可扩展、高容错等特性,可以保证消息不丢失,目前Storm, 类Storm或基于Storm抽象的框架技术是实时处理、流处理领域主要采用的技术。

            Flink:在数据处理领域,批处理任务和实时流计算任务一般被认为是两种不同的任务,一个数据项目一般会被设计为只能处理其中一种任务,例如Storm只支持流处理任务,而MapReduce, Hive只支持批处理任务。Apache Flink是一个同时面向分布式实时流处理和批量数据处理的开源数据平台,它能基于同一个Flink运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。Flink在实现流处理和批处理时,与传统的一些方案完全不同,它从另一个视角看待流处理和批处理,将二者统一起来。Flink完全支持流处理,批处理被作为一种特殊的流处理,只是它的数据流被定义为有界的而已。基于同一个Flink运行时,Flink分别提供了流处理和批处理API,而这两种API也是实现上层面向流处理、批处理类型应用框架的基础。

    2、数据存储主要技术

            HDFS:Hadoop Distributed File System,简称FDFS,是一个分布式文件系统。它有一定高度的容错性和高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS提供了一个高容错性和高吞吐量的海量数据存储解决方案。在Hadoop的整个架构中,HDFS在MapReduce任务处理过程在中提供了对文件操作的和存储的的支持,MapReduce在HDFS基础上实现了任务的分发、跟踪和执行等工作,并收集结果,两者相互作用,共同完成了Hadoop分布式集群的主要任务。

            HBase:HBase是一种构建在HDFS之上的分布式、面向列族的存储系统。在需要实时读写并随机访问超大规模数据集等场景下,HBase目前是市场上主流的技术选择。
    HBase技术来源于Google论文《Bigtable :一个结构化数据的分布式存储系统》。如同Bigtable利用了Google File System提供的分布式数据存储方式一样,HBase在HDFS之上提供了类似于Bigtable的能力。

            HBase解决了传递数据库的单点性能极限。实际上,传统的数据库解决方案,尤其是关系型数据库也可以通过复制和分区的方法来提高单点性能极限,但这些都是后知后觉的,安装和维护都非常复杂。
    而HBase从另一个角度处理伸缩性的问题,即通过线性方式从下到上增加节点来进行扩展。

                 HBase 不是关系型数据库,也不支持SQL,它的特性如下:

    1、大:一个表可以有上亿上,上百万列。
    2、面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。
    3、稀疏:为空(null)的列不占用存储空间,因此表可以设计的非常稀疏。
    4、无模式::每一行都有一个可以排序的主键和任意多的列。列可以根据需求动态增加,同一张表中不同的行可以有截然不同的列。
    5、数据多版本:每个单元的数据可以有多个版本,默认情况下,版本号字段分开,它是单元格插入时的时间戳。
    6、数据类型单一:HBase中数据都是字符串,没有类型。

    展开全文
  • 数据处理流程总结

    万次阅读 2019-01-05 11:20:26
    数据分析 1.什么是数据分析? 2.数据分析的分类 3.数据分析的三大作用 现状分析、原因分析、预测分析。 4.数据分析的流程 1.问题的定义:明确目的和思路(具有数据思维) 问正确的问题往往是成功的一半...

    一.数据分析

    1.什么是数据分析?

    在这里插入图片描述

    2.数据分析的分类

    在这里插入图片描述

    3.数据分析的三大作用

    现状分析、原因分析、预测分析。

    4.数据分析的流程

    在这里插入图片描述

    1.问题的定义:明确目的和思路(具有数据思维)

    问正确的问题往往是成功的一半。——邱老师

    首先你需要确定去分析的问题是什么?你想得出哪些结论?即,先明确分析目的:问题的定义可能需要你去了解业务的核心知识,并从中获得一些可以帮助你进行分析的经验。

    然后梳理分析思路,并搭建分析框架,把分析目的分解成若干个不同的分析要点,即如何具体开展数据分析,需要从哪几个角度进行分析,采用哪些分析指标(各类分析指标需合理搭配使用)。同时,确保分析框架的体系化和逻辑性。

    2.数据收集

    一般数据来源于四种方式:

    • 1)内部数据:如公司的数据库;
    • 2)第三方统计数据:如专业的调研机构的统计年鉴或报告、市场调查;
    • 3)编写网页爬虫,去收集互联网上的数据;

    3.数据预处理

    数据处理主要包括:

    • 数据清洗:如异常值、重复值等的处理,缺失值的处理
    • 数据转化:如将男女,转化为01
    • 数据抽取:特征的选择()
    • 数据合并:几项数据的汇总成一项特定的数据项
    • 数据计算

    这些处理方法,将各种原始数据加工成为数据分析所要求的样式。

    4.数据分析

    在这个部分需要了解基本的数据分析方法、数据挖掘算法,了解不同方法适用的场景和适合的问题。

    1)常用的数据分析工具,掌握Excel的数据透视表,就能解决大多数的问题。需要的话,可以再有针对性的学习SPSS、R等工具。

    2)数据挖掘是一种高级的数据分析方法,侧重解决四类数据分析问题:分类、聚类、关联和预测,重点在寻找模式与规律。

    5.数据展现

    一般情况下,数据是通过表格和图形的方式来呈现的。

    常用的数据图表包括饼图、柱形图、条形图、折线图、气泡图、散点图、雷达图等。进一步加工整理变成我们需要的图形,如金字塔图、矩阵图、漏斗图、帕雷托图等。

    一般能用图说明问题的就不用表格,能用表说明问题的就不用文字。

    图表制作的五个步骤:
    1、确定要表达主题
    2、确定哪种图表最适合
    3、选择数据制作图表
    4、检查是否真实反映数据
    5、检查是否表达观点

    6.报告撰写

    数据分析报告不仅是分析结果的直接呈现,还是对相关情况的一个全面的认识。我们经常看到一些行业分析报告从不同角度、深入浅析地剖析各种关系。所以你需要一个讲故事的逻辑,如何从一个宏观的问题,深入、细化到问题内部的方方面面,得出令人信服的结果,这需要从实践中不断训练。

    一份好的数据分析报告,首先需要有一个好的分析框架,并且图文并茂,层次明晰,能够让阅读者一目了然。

    • 1)结构清晰、主次分明可以使阅读者正确理解报告内容;
    • 2)图文并茂,可以令数据更加生动活泼,提高视觉冲击力,有助于阅读者更形象、直观地看清楚问题和结论,从而产生思考。
    • 3)好的数据分析报告需要有明确的结论、建议或解决方案。

    5.数据分析的四大误区

    1.分析目的不明确,为了分析而分析,这是菜鸟常常容易出现的问题;

    2.缺乏行业、公司业务认知,分析结果偏离实际。数据必须和业务结合才有意义。摸清楚所在产业链的整个结构,对行业的上游和下游的经营情况有大致的了解,再根据业务当前的需要,制定发展计划,归类出需要整理的数据。同时,熟悉业务才能看到数据背后隐藏的信息;

    3.为了方法而方法,为了工具而工具,只要能解决问题的方法和工具就是好的方法和工具;

    4.数据本身是客观的,但被解读出来的数据是主观的。同样的数据由不同的人分析很可能得出完全相反的结论,所以一定不能提前带着观点去分析

    二.常用的统计和建模方法

    回归

    分类

    聚类

    关联分析

    降维:主成分分析、奇异值分解

    三.具体的工具方法

    AI算法工程师手册
    机器学习100天

    1.python

    1.1 数据爬虫

    1.2 数据预处理

    数据预处理方法

    pandas

    numpy

    1.3 数据分析与挖掘

    1.4 数据可视化

    matplotlib库

    2.SQL

    网络教程

    明确每种查询函数的性质,使用方法,适用条件。

    • SQL四种连接方式详细说一下不同
    • group by 与 partition by的区别

    偏向实际应用的SQL语句,而仅仅是基础的查询。

    四.具体的业务问题

    如何提高专车的订单量,都有什么方法
    某一天订单量下降,从不同角度分析原因

    问:滴滴营收突然降低,你会怎么分析?(借鉴网友)

    • 怀疑数据的正确性;
    • 查看历史出现这情况是什么原因,这些原因作为此次分析的必要部分。
    • 分析什么会影响营收?两个方面:收入 支出
    • 再进一步问:什么影响收入的?
    • 市场整体收缩(季节,地铁大面积开通) 、对手强弱(美团打车大额补贴进入)、政策(计价规则调整)、公关事件(顺风车事件)
    • 什么影响支出?
    • 主要是补贴强弱 (客户端 司机端)
    展开全文
  • 如何用python进行数据处理?(一)

    万次阅读 2020-12-09 18:08:52
    首先了解使用python进行数据处理常用的两个包:numpy和pandas。 numpy 最重要的特点就是n维数组对象ndarray是一个快速而灵活的大数据集容器,它是一个通用的同构数据多维容器,即所有的元素必须是相同的类型,每个...

    首先了解使用python进行数据处理常用的两个包:numpy和pandas。

    numpy

    最重要的特点就是n维数组对象ndarray是一个快速而灵活的大数据集容器,它是一个通用的同构数据多维容器,即所有的元素必须是相同的类型,每个数组有一个shape(表示维度大小的元组),一个dtype(说明数组数据类型的对象)。

    1.创建数组常使用的函数有:array,arange
    例如:
    array函数:
    在这里插入图片描述
    arange函数:
    在这里插入图片描述
    注意:python里面左闭右开的原则

    2.数据类型

    在这里插入图片描述
    numpy的数据类型有int/float/complex/bool/object/string

    数据类型转换使用函数:astype
    在这里插入图片描述
    另一种转换方式,在数组里面加逗号,后面输入dtpye=np.float64,如下:
    在这里插入图片描述
    3.切片

    一维数组切片,操作注意三点:中括号,左闭右开,冒号
    在这里插入图片描述
    在这里插入图片描述
    二维数组切片:

    注意只有冒号表示选取整个轴
    在这里插入图片描述
    在这里插入图片描述
    4.矢量化

    不用编写程序即可对数据执行批量运算,大小相等的数组之间的任何算数运算(加减乘除幂)都可以将运算应用到元素级

    例如:
    在这里插入图片描述
    在这里插入图片描述
    5.随机数生成

    numpy.random对python内置函数random进行了补充,增加了高效生成多种概率分布的样本值的函数:

    常用的如:

    normal 产生正态分布的样本值

    rand 产生均匀分布的样本值

    randint 给定上下限范围内随机选取整数

    randn 产生标准正态分布的样本值

    permutation 返回一个序列的随机排列

    seed 确定随机数生成器的种子
    在这里插入图片描述
    帮助:

    numpy.random.normal(loc=0,scale=1e-2,size=shape) ,意义如下:

    参数loc(float):正态分布的均值,对应着这个分布的中心。loc=0说明这一个以Y轴为对称轴的正态分布,

    参数scale(float):正态分布的标准差,对应分布的宽度,scale越大,正态分布的曲线越矮胖,scale越小,曲线越高瘦。

    参数size(int 或者整数元组):输出的值赋在shape里,默认为None

    6.数组转换和轴对换

    reshape、T属性、transpose
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    以上是numpy的详细介绍,有关于pandas的详述,请留意我们明天更新的文章噢~

    了解更多分析及数据抓取可查看:
    http://cloud.yisurvey.com:9081/html/1d3e52e7-f130-4b08-8f2c-8c54d7ae676d.html ?ly=csdn
    本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
    特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

    展开全文
  • 学习过GDPR的同学都知道,GDPR条文中不仅有数据控制者,还有数据处理者,很多人疑惑,这两个名词在法律上是指同一个角色吗?两者之间的法律责任一样吗?GDPR分别对他们有什么要求?事实上,数据控制者和数据处理者的...
  • 1. 大数据处理之一:采集 大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的 数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。比如,电商会使用传统的关系型数据库MySQL...
  • 点云数据处理方法

    万次阅读 多人点赞 2018-09-07 10:25:02
    这篇博客主要介绍三维计算机视觉中点云数据处理面对的问题,主要方法和技术,概述其特点。这篇博客主要介绍最基本的点云数据处理技术和概念,不会有任何代码。 ICP点云配准就是我们非常熟悉的点云处理算法之一。...
  • 数据处理的基本流程是什么?

    万次阅读 多人点赞 2021-04-11 23:51:37
    由于大数据处理的数据来源类型丰富,利用多个数据库来接收来自客户端的数据, 包括企业内部数据库、互联网数据和物联网数据,所以需要从数据中提取关系和实体, 经过关联和聚合等操作,按照统一定义的格式对数据
  • 数据处理的基本方法--简要介绍

    千次阅读 2020-04-10 07:52:10
    数据处理是对收集到的数据进行加工整理,形成适合数据分析的样式,它是数据分析前的必不可少的阶段。数据处理的基本目的是从大量的、杂乱无章的数据中抽取并推导出对解决问题有价值、有意义的数据。 第一步,数据...
  • 视音频数据处理入门

    千次下载 热门讨论 2016-01-29 16:58:05
    (1)像素数据处理程序。包含RGB和YUV像素格式处理的函数。 (2)音频采样数据处理程序。包含PCM音频采样格式处理的函数。 (3)H.264码流分析程序。可以分离并解析NALU。 (4)AAC码流分析程序。可以分离并解析ADTS帧。...
  • 五种大数据处理架构

    万次阅读 多人点赞 2017-12-14 14:12:21
    大数据是收集、整理、处理大容量数据集,并从中获得见解所需的非传统战略和技术的总称。虽然处理数据所需的计算能力或存储容量早已超过一台计算机的上限,但这种计算类型的普遍性、规模,以及价值在最近几年才经历了...
  • Hadoop是Apache公司开发的一个开源框架,它允许在整个集群使用简单编程模型计算机的分布式环境存储并处理大数据。 集群是指,2台或2台以上服务器构建节点,提供数据服务。单台服务器,无法处理海量的大数据。服务器越...
  • 今天SCA安全通信联盟为大家整理了GDPR中个人数据处理的6大原则——“合法公平透明”、“目的限制”、“数据最小化”、“准确性”、“储存限额”、“完整性和机密性”。互联网让我们的世界越来越联动,为了在...
  • 密立根油滴实验数据处理(C++实现)

    万次阅读 多人点赞 2020-05-26 14:47:15
    不知道你们的实验数据处理是不是这样子的呢,我们的要求是测得三滴油滴每个油滴测量五次 由上式计算被测油滴所带电量,并用“倒算法”求出油滴所带电荷个数 ( e0 =1.60×10-19C ) 并将n取整数值N,再用这个整数N...
  • 数据处理基本过程

    万次阅读 多人点赞 2018-05-06 08:48:14
    把一些基本知识,总体架构记录一下,感觉坑很多,要学习的东西也很多,先简单了解一下基本知识什么是大数据:大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理数据集合,是需要新...
  • 本软件支持模拟数据的类型包括:天宝、莱卡、索佳、中纬、南方DL等数字水准仪原始数据。工程监测技术交流QQ群:452847739,会提供持续的软件更新及通知。软件作者QQ:3339745885,关于软件的任何问题欢迎咨询作者。...
  • Hadoop海量数据处理:技术详解与项目实战 pdf

    千次下载 热门讨论 2015-11-30 09:26:21
    影印资料, 本人不负责下载者任何其他后果
  • 数据处理流程的主要环节

    千次阅读 2020-02-17 23:24:29
    数据处理流程主要包括数据收集、数据预处理、数据存储、数据处理与分析、数据展示/数据可视化、数据应用等环节,其中数据质量贯穿于整个大数据流程,每一个数据处理环节都会对大数据质量产生影响作用。通常,一个...
  • Java关于大批量数据处理

    万次阅读 2018-07-09 14:36:35
    在工作中,有时候会遇到大批量的数据处理,为了节省时间,一般会用线程批量处理,先举例几个方案。1.批量查询,单条处理 (利用线程池处理,线程池最大值:10) 优势:查询速度快; 出现异常影响数量小; 事务...
  • 数据处理的四大步骤

    万次阅读 2019-06-12 21:59:41
    具体的大数据处理方法确实有很多,但是根据笔者长时间的实践,总结了一个普遍适用的大数据处理流程,并且这个流程应该能够对大家理顺大数据的处理有所帮助。整个处理流程可以概括为四步,分别是采集、导入...
  • 数据处理时如何解决噪声数据?

    万次阅读 多人点赞 2019-04-30 10:08:05
    一、什么是噪声 在机器学习中我们在独立随机抽样的时候会...2.在同样的评判下会有不同的后续处理。 输入错误: 1.在收集数据的时由于数据源的随机性会出现错误(比如说,客户在填信息的时候出现的误填) 实际应...
  • 雷达数据处理1

    千次阅读 2018-05-23 15:52:06
    雷达数据处理包括很广泛的内容,这里指的是雷达在取得目标的位置、运动参数数据(如径向距离、径向速度、方位和俯仰角等)后进行的互联、跟踪、滤波、平滑、预测等运算。 雷达数据处理的目的...
  •  流处理数据视为流,源源不断的数据形成数据流。当新的数据到来即立即处理并返回所需的结果。大数据的实时处理是一个极具挑战性的工作,数据具有大规模、持续到达的特点。因此,如果要求实时的处理大数据,必然...
  • 数据处理技术的总结与分析

    万次阅读 2019-05-26 17:29:55
    在我们实际生活中,事务型数据处理需求非常常见,例如:淘宝网站交易系统、12306网站火车票交易系统、超市POS系统等都属于事务型数据处理系统。 一数据分析处理需求分类 1 事务型处理 在我们实际生活中,事务型...
  • (一)无人机数据处理软件Pix4Dmapper介绍Pix4Dmapper(原Pix4UAV)是瑞士Pix4D公司的全自动快速无人机数据处理软件,是目前市场上独一无二的集全自动、快速、专业精度为一体的无人机数据和航空影像处理软件。...
  • 数据处理必备的十大工具!

    万次阅读 2018-01-13 00:00:00
    下面是用于信息化管理的大数据工具列表:1.ApacheHiveHive是一个建立在hadoop上的开源数据仓库基础设施,通过Hive可以很容易的进行数据的ETL,对数据进行结构化处理,并对Hadoop上大数据文件进行查询和处理等。...
  • 如何提高数据处理中的准确性

    万次阅读 2018-12-13 14:54:23
    数据处理的准确性校验一直是个难题,是否存在一些针对据处理准确性的通用做法呢? 下面是一些对于数据进行计算处理后,保证数据准确性的个人实践: 对于大部分数据来说,数据处理可以分为以下五个步骤: 1.数据...
  • 数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。 在这里还是要推荐下我自己建的大数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,218,684
精华内容 2,887,473
关键字:

数据处理

友情链接: cfwzcx.zip