精华内容
下载资源
问答
  • 处理框架在某种意义上可称为处理引擎,处理框架按照所处理的数据状态分为批处理框架、流式处理框架及交互式处理框架。 批处理框架 一种计算大规模数据集的方法 批处理模式使用的数据集通常有如下特征 有界:数据...

    大数据计算框架

    计算框架

    处理框架在某种意义上可称为处理引擎,处理框架按照所处理的数据状态分为批处理框架、流式处理框架及交互式处理框架。

    批处理框架

    • 一种计算大规模数据集的方法

    • 批处理模式使用的数据集通常有如下特征

      • 有界:数据集是数据的有界集合
      • 持久:数据通常存储在某种类型的持久存储系统中,如HDFS或数据库
      • 大量:通常为海量的数据集
    • 批处理需要访问全体记录才能完成计算工作,因此较费时

    流式处理框架

    • 用来短时间内高容错的处理持续不断,动态产生的数据

    • 流式处理框架一般采用有向无环图((Directed Acyclic Graph, DAG)模型)

      • 图中节点分为两类
      • 1.数据输入点
      • 2.数据计算节点
      • 从外部系统不断传入的实时数据则流经这些节点,把它们串接起来。
    • 三个重要特点

      • (1)完整数据集只能代表截至目前已经进入系统中的数据总量。
      • (2)工作数据集会更加相关,在特定时间只能代表某个单一数据项。
      • (3)处理工作是基于事件的,除非明确停止,否则没有“尽头”。处理结果立即可用,并会随着新数据的抵达继续更新。
    • 此类处理非常适合某些类型的工作负载,有近实时处理需求的任务很适合使用流式处理

    • Apache Storm是一种侧重于极低延迟的流式处理框架,也是要求近实时处理的工作负载的最佳选择。该框架可处理非常大量的数据,提供结果比其他解决方案具有更低的延迟。同时,Spark Streaming也提供这种流式的处理模式。

    交互式处理框架

    • 交互式查询数据,SQL-on-Hadoop指为分布式数据存储提供SQL查询功能。

    (1)MapReduce

    简介

    • MapReduce是Hadoop大数据处理框架的处理引擎
    • MapReduce对历史的批量数据的处理具有很强的优势,且用户能够基于此引擎轻松地编写应用程序,以实现分布式的并行数据处理。
    • MapReduce源于Google公司的一篇论文,它借鉴了分而治之的思想,将一个数据处理过程拆分为主要的Map(映射)和Reduce(化简)两步。

    MapReduce编程的特点

    • 1.开发简单
    • 2.可扩展性强
    • 3.容错性强

    MapReduce的计算模型

    • 简易模型

      • map

        • 将数据抽象为key-value对形式
        • map()函数以key-value对作为函数进行处理,产生一系列新的key-value对作为中间结果输出到本地
        • MapReduce计算框架将这些中间结果按key排列,并将key值相同的数据发给reduce函数处理]
      • reduce

        • reduce()函数以Key和对应的Value的集合作为输入,经过reduce()函数的处理后,产生另一系列Key-Value对作为最终输出,写入HDFS。
      • 在这里插入图片描述

    • MapReduce能够解决的问题有一个共同特点

      • 任务可以被分解成多个子问题,且这些子问题相对独立,彼此之间不会有牵制;待并行处理完这些子问题后,任务便被解决了。

    使用MapReduce的分布式计算框架来分析网站log日志(灰常有效)

    • 一般网站都需要对网站的PV(URL被访问的次数)和UV(URL被不同IP访问的次数)进行数据统计,这些数据来源于网站服务器上的log日志。这些log日志记录其他机器访问服务器的IP、时间、状态码等信息。

      • 在这里插入图片描述
    • 1.输入

      • 因为大型网站的log日志文件非常庞大,先调用MapReduce库将输入的日志文件分成多个数据片段,也称作分片(split)。每个分片的大小默认为64MB。
      • 将每个分片的文本信息转换为初始的<Key,Value>形式,作为Map任务的输入。
      • 在这里插入图片描述
    • 2.map任务

      • 每个分片交给一个Map任务进行处理,Map任务不断地从对应的分片中解析出一个个键-值对,并调用map()函数进行处理,输出新的键值对,并将输出结果存于HDFS中
      • 在这里插入图片描述
    • 3.shuffle处理

      • 亦叫做数据混洗,代表map()函数产生输出到reduce的输入的整个过程
      • 它首先会对所有的Map输出的中间结果按照Key进行合并,Key值相同的合并一起,在此例中是将访问URL的所有访客IP进行合并,然后按Key值的大小进行排序。Map输出的键-值对经过Shuffle操作后形成<Key,list of Value>的键-值对
      • Shuffle是MapReduce的核心,由MapReduce内部代码实现,它的职责是把Map的输出结果有效地传到Reduce。
    • 4.reduce任务

      • 系统根据reduce任务的个数进行分区
      • 在这里插入图片描述
    • 5.输出

      • MapReduce最终结果存于HDFS中,供后续查询分析使用

    MapReduce的资源管理框架

    • 一开始MapReduce不仅完成分布式计算任务,也负责整个Hadoop集群的资源管理和调度,简称MRv1,但MRv1框架具有多计算框架支持不足的缺点,后来专门开发了全新的资源管理框架——YARN(Yet Another Resource Negotiator)。

    • MRv1

      • MRv1计算框架是主从架构,支撑MapReduce计算框架的是JobTracker和TaskTracker两类后台进程

      • 架构

        • 在这里插入图片描述

        • JobTracker

          • 集群主节点负责任务调度和集群资源监控,不参与具体计算
          • 一个Hadoop集群只有一个JobTracker,存在单点故障的可能性,一旦故障,这一集群上所有正在运行的任务将全部失败
          • TaskTracker会通过周期性的Heartbeat信息向JobTracker汇报当前的健康状况和状态
          • JobTracker会根据各个TaskTracker发送过来的Heartbeat信息综合考虑TaskTracker的资源剩余量、作业优先级、作业提交时间等因素,为TaskTracker分配合适的任务。
        • TaskTracker

          • 从节点,主要负责汇报Heartbeat信息和执行JobTracker的命令。
          • 一个集群中可以有多个TaskTracker,但是一个节点上只有一个
          • TaskTracer周期地向JobTracker发送Heartbeat信息后,JobTracker根据Heartbeat信息和当前作业的运行情况为TaskTracker下达命令,包括启动任务、提交任务、杀死任务、杀死作业和重新初始化5种命令
        • Client

      • 弊端

        • (1)槽被设定为Map槽和Reduce槽,因此,某一时刻Map槽或Reduce槽会出现紧缺情况,降低了槽的使用率。
        • (2)不能动态设置槽的数据量,可能会导致一个TaskTracker资源使用率过高或过低。
        • (3)提交的作业是多样化的,如果一个任务需要1GB内存,则会产生资源浪费;如果一个任务需要3GB内存,则会发生资源抢占。
    • YARN

      • 简介

        • 因为MRv1的种种不足,如可靠性差、多计算框架支持不足、资源利用率低,Apache社区着手下一代Hadoop的开发,提出了一个通用的架构——统一资源管理和调度平台,此平台直接导致了YARN和Mesos的出现。
        • YARN的架构也是主从架构
        • 在MRv2中,YARN接管了所有资源管理调度的功能,同时还兼容异构的计算框架
      • 架构

        • 在这里插入图片描述

        • YARN服务由ResourceManager和NodeManager两类进程组成,Container是YARN的资源表示模型,任何计算类型的作业都可以在Container中。YARN是双层调度模型,ResourceManager是中央调度器,ApplicationMaster是YARN的二级调度器,运行在Container中。

        • ResourceManager

          • ResourceManager是集群中所有资源的管理者,负责集群中所有资源的管理。
          • 定期接受各个NodeManager的资源汇报情况并进行汇总和调度
        • NodeManager

          • NodeManager是YARN集群中的单个节点的代理,管理YARN集群中的单个计算节点,负责保持与ResourceManager同步,跟踪节点的健康状况;
          • 管理各个Container的生命周期,监控每个Container的资源使用情况,管理分布式缓存并管理各个Container生成的日志,提供不同的YARN应用可能需要的辅助服务。
        • ApplicationMaster

          • ApplicationMaster是YARN架构中比较特殊的组件,其生命周期随着应用的开始而开始,随着应用的结束而结束。它是集群中应用程序的进程。每个应用程序都有自己专属的ApplicationMaster,不同计算框架如MapReduce和Spark的ApplicationMaster的实现也是不同的。它负责向ResourceManager申请资源,在对应的NodeManager上启动Container来执行任务,同时在应用运行过程中不断监控这些任务的状态。
    • MRv1和YARN的对比

      • 在这里插入图片描述

    (2)Spark

    基本知识

    • Spark是通用的并行计算框架,由加州大学伯克利分校的AMP实验室开发于2009年,并于2010年开源,2013年成长为Apache旗下的大数据领域活跃的开源项目之一。
    • Hadoop用于解决高吞吐、批量处理的业务场景,如5.2节举例的离线计算网站UV,但如果需要实时查看网站浏览量统计信息,Hadoop就无法满足,而Spark通过内存计算能极大地提高大数据处理速度,能够满足此要求。同时,Spark还支持流式计算、SQL查询、机器学习等。

    特点

    • 1.快速处理能力
    • 2.易于使用
    • 3.通用性强
    • 4.可用性高

    spark的生态系统

    • Spark的生态系统以Spark Core为核心,能够读取传统文件、HDFS、HBase等数据源,利用Standalone、YARN、EC2和Mesos等资源调度管理,完成应用程序的分析与处理。这些应用程序来自Spark的不同组件,如Spark shell交互式批处理方式、Spark Streaming的实时流处理应用、Spark SQL的即席查询,MLlib的机器学习、GrapX的图处理等。

    • 在这里插入图片描述

    • Spark Core

      • Spark Core 是整个生态系统的核心组件,是一个分布式大数据处理框架。
    • Spark Streaming

      • Spark Streaming是一个实时流式处理系统,针对实时数据流进行高吞吐、高容错的处理

      • 可以对多种数据源如Kafka、Flume或TCP sockets等进行类似Map、Reduce和Join等复杂操作,并将结果保存到文件系统、数据库或应用程序的实时仪表盘中。

      • Spark Streaming提供的处理引擎和RDD编程模型可以同时进行批处理和流处理,它使用的是数据离散化处理方式,能够进行秒级以下的数据批处理。在Spark Streaming处理过程中,Receiver并行接收数据,并将数据缓存至Spark工作节点的内存中。经过系统延迟优化后,Spark引擎对短任务能够进行批处理。Spark可基于数据的来源及可用资源情况,将任务动态地分配给工作节点

      • 使用离散化流数据使Spark Streaming具有以下优点。

        • (1)动态负载均衡
        • (2)快速故障恢复
      • 在这里插入图片描述

    • Spark SQL

      • 前身为Shark,即HIve on Spark
      • Spark SQL允许开发人员直接处理RDD,也可查询在Hive上存储的外部数据。Spark SQL的一个重要特点是能够统一处理关系表和RDD,使开发人员可以轻松地使用SQL命令进行外部查询,同时进行更复杂的数据分析。
    • BlinkDB

      • BlinkDB是一个用于在海量数据上运行交互式SQL查询的大规模并行查询引擎,允许用户通过权衡数据精度来提升查询响应时间,其数据的精度被控制在允许的误差范围内。
      • BlinkDB采用自适应的优化框架,从原始数据随着时间的推移建立并维护一组多维样本,且遵循动态样本选择策略。
    • MLlib

      • MLlib是Spark提供的机器学习框架。它的目标是让机器学习的门槛更低,让一些可能并不了解机器学习的用户能够使用MLlib。MLlib目前已经提供了基础统计、分类、回归、决策树、随机森林、朴素贝叶斯、协同过滤、聚类、维数缩减、特征提取与转型、频繁模式挖掘等多种数理统计、概率论、数据挖掘方面的数学算法。
    • GraphX

      • GraphX是分布式图计算框架。它提供了对图的抽象Graph,Graph由顶点、边及边权值3种结构组成。对Graph的所有操作最终都会转换成RDD操作来完成,即对图的计算在逻辑上等价于一系列的RDD转换过程。目前,GraphX已经封装了最短路径、网页排名、连接组件、三角关系统计等算法的实现,用户可自行选择使用。

    Spark的架构与原理

    • 基本架构

      • 在这里插入图片描述

      • (1)Cluster Manager

        • 它是Spark的集群管理器,负责资源的分配与管理。Cluster Manager属于一级分配,它将各个Worker上的内存、CPU等资源分配给应用程序。YARN、Mesos、EC2等都可以作为Spark的集群管理器,如YARN的ResourceManager可以作为Spark的Cluster Manager使用。
      • (2)Worker

        • Worker是Spark的工作节点。对Spark应用程序来说,由Cluster Manager分配得到资源的Worker节点主要负责创建Executor,将资源和任务进一步分配给Executor,并同步资源信息给Cluster Manager。在Spark on YARN模式下,Worker就是NoteManager节点。
      • (3)Executor

        • Executor是具体应用运行在Worker节点上的一个进程,该进程负责运行某些Task,并且负责将数据存到内存或磁盘上,每个应用都有各自独立的一批Executor。Executor同时与Worker、Driver App保持信息的同步。
      • (4)DriverApp

        • 它属于客户端驱动程序,用于将任务程序转化为RDD和DAG,并与Cluster Manager进行通信与调度。
    • 工作流程

      • 在这里插入图片描述
      • (1)构建Spark 应用程序的运行环境,启动SparkContext。
      • (2)SparkContext向资源管理器申请运行Executor资源。
      • (3)资源管理器分配资源给Executor,并由Worker启动Executor。
      • (4)Executor向SparkContext申请Task任务。
      • (5)SparkContext根据应用程序构建DAG。
      • (6)将DAG划分为多个Stage。
      • (7)把每个Stage需要的任务集发送给TaskScheduler。
      • (8)TaskScheduler将Task发送给Executor运行,Executor在执行任务过程中需要与DriverApp通信,告知目前任务的执行状态。
      • (9)Task在Executor上运行完后,释放所有资源。

    Spark RDD的基本知识

    • RDD的定义

      • RDD(Resilient Distributed Datasets)是一种可扩展的弹性分布式数据集,是Spark最基本的数据抽象,表示一个只读、分区且不变的数据集合,是一种分布式的内存抽象。
      • RDD不具备Schema的数据结构,可以基于任何数据结构创建,如tuple(元组)、dict(字典)和list(列表)等。
    • 与RDD类似的分布式共享内存(Distributed Shared Memory,DSM)也是分布式的内存抽象,但两者是不同的。与DSM相比,RDD模型有两个优势:

      • ①RDD中的批量操作在运行时会根据数据存放的位置来调度任务;
      • ②对扫描类型的操作,如果内存不足以缓存整个RDD,就进行部分缓存,避免内存溢出。
      • 在这里插入图片描述
    • RDD的优点

      • (1)Partition(译为分区或分片)是Spark数据集的基本组成单位。
      • (2)在Spark中,RDD的计算是以分片为单位的,每个RDD都会实现计算函数,以达到RDD的转换操作。
      • (3)RDD的每次转换都会生成一个新的RDD,所以RDD之间就会形成类似于流水线一样的前后依赖关系。
      • (4)当前,Spark实现了两种类型的分片函数,一个是基于哈希的HashPartitioner,另外一个是基于范围的RangePartitioner。
      • (5)列表,允许存储/读取每个Partition的优先位置(Preferred location)。
    • RDD操作类型

      • 在Spark编程中,开发者需要编写DriverApp来连接Worker。
      • DriverApp定义一个或多个RDD及相关的行动操作。Worker将经过一系列操作后的RDD分区数据保存在内存中。在Spark中,RDD的操作大致可以分为4类,分别为创建(Create)、转换(Transformation)、控制(Contral)和行动(Action)。
    • RDD的依赖关系

      • RDD只支持粗粒度转换,即在大量记录上执行的单个操作,将创建RDD的一系列Lineage(即血统)记录下来,以便恢复丢失的分区。RDD的Lineage会记录RDD的元数据信息和转换行为,当该RDD的部分分区数据丢失时,它可以根据这些信息来重新运算和恢复丢失的数据分区。

      • 一个RDD包含一个或多个分区,RDD的每个分区分布在集群的不同节点中,每个分区实际是一个数据集合的片段。在构建DAG的过程中,系统会将RDD用依赖关系串联起来。每个RDD都有其依赖,除了最顶级的RDD,这些依赖分为窄依赖和宽依赖。

      • 窄依赖指每个父RDD的分区都至多被一个子RDD的分区使用;而宽依赖指多个子RDD的分区依赖一个父RDD的分区。例如Map、Filter操作是一种窄依赖,而Join、GroupByKey操作属于宽依赖,如图5-11所示。

    • RDD的作业调度

      • 当对RDD执行转换操作时,调度器会根据RDD的“血统”来构建由若干Stage组成的DAG,每个Stage包含尽可能多的连续窄依赖转换。调度器按照DAG的顺序进行计算,并最终得到目标结果。

      • 调度器根据数据存储位置向各节点分配任务,并采用延时调度机制。例如某个任务需要处理的某个分区刚好存储在某个节点的内存中,则该任务会分配给节点;如果内存不包含该分区,调度器会找到包含该RDD的较佳位置,并把任务分配给其所在节点。

      • 图5-12展示了Spark中的RDD作业调度DAG,其中有A、B、C、D、E、F、G这7个RDD,每个RDD有多个分区。在这个图中,系统根据RDD的宽依赖将整个作业分为3个Stage,其中Stage 2内部的窄依赖则以流水线的形式执行,Stage 1与Stage 2执行完成后执行Stage 3。

    XMind: ZEN - Trial Version

    展开全文
  • 德克斯拉 使用基于GUI的工作流将大数据分析作为云服务进行协作。 要使用Texera,请按照“页面上的说明进行操作 出版物: (4/2017)TextDB的演示:大数据集的...(7/2020)演示Texra中分布式数据流的交互式运行时调
  • 使用Spark SQL构建交互式查询引擎

    千次阅读 2016-07-09 16:23:00
    StreamingPro 原来仅仅是用来作为Spark Streaming的一个配置化+SQL封装,然而不经意间,已经涵盖了批处理,交互式查询等多个方面。今天就讲讲如何使用StreamingPro构建一个交互式查询引擎。 准备工作 下载Streaming...

    StreamingPro目前已经涵盖流式/批处理,以及交互查询三个领域,实现配置和SQL化

    前言

    StreamingPro 原来仅仅是用来作为Spark Streaming的一个配置化+SQL封装,然而不经意间,已经涵盖了批处理,交互式查询等多个方面。今天就讲讲如何使用StreamingPro构建一个交互式查询引擎。

    准备工作

    • 下载StreamingPro

    README中有下载地址

    如果你使用了 Spark 2.0 版本,则要下载对应页面上的Spark 安装包。因为目前Spark 2.0 默认支持Scala 2.11。我提供了一个机遇Scala 2.10版本的。

    我们假设您将文件放在了/tmp目录下。

    同时建立一个只有test.json,下里面的内容有:

    {}
    

    假设你把它放在了/tmp目录。

    启动StreamingPro

    Local模式:

    cd  $SPARK_HOME
    
    ./bin/spark-submit   --class streaming.core.StreamingApp \
    --master local[2] \
    --name sql-interactive \
    /tmp/streamingpro-0.4.1-SNAPSHOT-online-1.6.1.jar    \
    -streaming.name sql-interactive    \
    -streaming.job.file.path file:///tmp/test.json \
    -streaming.platform spark   \
    -streaming.rest true   \
    -streaming.driver.port 9004   \
    -streaming.spark.service true
    

    访问

    http://127.0.0.1:9004/sqlui
    

    后可进入查询界面:

    1063603-c281b8eddb8c8b82.png
    Snip20160709_5.png

    目前支持elasticsearch 索引,HDFS Parquet 等的查询,并且支持多表查询。

    除了交互式界面以外,也支持接口查询:

    http://127.0.0.1:9004/runtime/spark/sql
    

    参数支持:

    参数名示例说明
    tableName.abchdfs://cluster/tmp/a.parquet索引或者parquet路径,其中abc是SQL中的表名称
    sqlSELECT count(distinct(mid)) as a ,floor(floor(time/100)/5)5 as b FROM abc group by floor(floor(time/100)/5)5查询SQL
    loader_clzz.abcorg.elasticsearch.spark.sql驱动类,如果是parquet文件则可简写为parquet
    loader_param.abc.es.nodesnode1不同驱动可能会有自己一些特定的参数,比如es类的需要通过es.nodes传递ES集群在哪

    上面的参数都是成套出现,你可以配置多套,从而映射多张表。

    集群模式:

    cd  $SPARK_HOME
    
    ./bin/spark-submit   --class streaming.core.StreamingApp \
    --master yarn-cluster \
    --name sql-interactive \
    /tmp/streamingpro-0.2.1-SNAPSHOT-dev-1.6.1.jar    \
    -streaming.name sql-interactive    \
    -streaming.platform spark   \
    -streaming.rest true   \
    -streaming.job.file.path file:///tmp/test.json \
    -streaming.driver.port 9004   \
    -streaming.spark.service true
    

    接着进入spark-ui界面获取driver的地址,就可以访问了。

    服务发现

    因为集群模式,driver的地址是变化的,所以一旦集群启动后我们需要注册到某个地方,从而能然前端知道。目前支持zookeeper的方式,在启动命令行中添加如下几个参数:

    -streaming.zk.servers 127.0.0.1:2181 \
    -streaming.zk.conf_root_dir  /streamingpro/jack
    

    之后前端程序只要访问

    /streamingpro/jack/address
    

    就能获取IP和端口了。

    展开全文
  • 流处理、批处理、交互式查询

    千次阅读 2019-03-10 23:52:28
    基于历史数据的交互式查询,通常时间跨度在数十秒到数分钟之间 &nbsp; &nbsp; 复杂的批量数据处理,通常的时间跨度在几分钟到数小时之间 1.流处理 流是一种数据传送技术,它把客户端数据变成一个稳定的流。...

    我们将大数据处理按处理时间的跨度要求分为以下几类

        基于实时数据流的处理,通常的时间跨度在数百毫秒到数秒之间

        基于历史数据的交互式查询,通常时间跨度在数十秒到数分钟之间

        复杂的批量数据处理,通常的时间跨度在几分钟到数小时之间

    1.流处理

    流是一种数据传送技术,它把客户端数据变成一个稳定的流。正是由于数据传送呈现连续不停的形态,所以流引擎需要连续不断处理数据

    流处理的主要应用场景:金融领域和电信领域

    1.1 Stom

    Storm是一个免费开源、分布式、高容错的实时计算系统。

    Storm主要分为两种组件Nimbus和Supervisor。这两种组件都是快速失败的,没有状态。任务状态和心跳信息等都保存在Zookeeper上的,提交的代码资源都在本地机器的硬盘上。
    1)Nimbus负责在集群里面发送代码,分配工作给机器,并且监控状态。全局只有一个。
    2)Supervisor会监听分配给它那台机器的工作,根据需要启动/关闭工作进程Worker。每一个要运行Storm的机器上都要部署一个,并且,按照机器的配置设定上面分配的槽位数。
    3)Zookeeper是Storm重点依赖的外部资源。Nimbus和Supervisor甚至实际运行的Worker都是把心跳保存在Zookeeper上的。Nimbus也是根据Zookeerper上的心跳和任务运行状况,进行调度和任务分配的。
    4)Storm提交运行的程序称为Topology。
    5)Topology处理的最小的消息单位是一个Tuple,也就是一个任意对象的数组。
    Topology由Spout和Bolt构成。Spout是发出Tuple的结点。Bolt可以随意订阅某个Spout或者Bolt发出的Tuple。Spout和Bolt都统称为component。


    1.2 Spark Streaming

    Spark Streaming是一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力。

    Spark Streaming的基本原理是将输入数据流以时间片(秒级)为单位进行拆分,然后以类似批处理的方式处理每个时间片数据

    2.交互式查询(Adhoc Query)

    在商业智能领域少量更新和大量扫描分析场景,目前是Impala+Kudu/Hive/Spark SQL/Greenplum Mpp数据库在混战。

    3.批处理技术

    3.1 MapReduce(Hadoop)

    MapReduce模式的主要思想是自动将一个大的计算拆解成Map和Reduce


    3.2 Spark

    Spark的中间数据放到内存中,对于迭代运算效率更高。
    Spark更适合于迭代运算比较多的ML和DM运算。因为在Spark里面,有RDD的抽象概念。
    Spark比Hadoop更通用
    Spark提供的数据集操作类型有很多种,不像Hadoop只提供了Map和Reduce两种操作。比如map, filter, flatMap, sample, groupByKey, reduceByKey, union, join, cogroup, mapValues, sort,partionBy等多种操作类型,Spark把这些操作称为Transformations。同时还提供Count, collect, reduce, lookup, save等多种actions操作。

    展开全文
  • Smartbi数据可视化 Smartbi作为民族BI软件,在数据可视化方面也有自己的独特...丰富的交互控件和图表组件;智能图形推荐;支持业务主题和自助数据集;流式布局,支持发布到APP。 自助仪表盘发布移动端更美观,更快捷 ​

    Smartbi数据可视化

    Smartbi作为民族BI软件,在数据可视化方面也有自己的独特之处。超越经典的“真Excel”报表设计,不改变用户办公习惯,在Excel上就能完成报表设计。

    可视化能力第一招:Excel图形能力也很强

    适用于不会编程的用户,使用Excel一样可以搞定!

    在这里插入图片描述

    可视化能力第二招:Excel+ECharts带来的“神奇”

    丰富的展现力+强大的互动性

    A.面向专业人员的仪表盘设计工具

    B.基于单元格和对象的数据模型

    C.Excel设计后发布到PC浏览器、APP等

    在这里插入图片描述

    是不是很方便,还有还有,Smartbi同时也为广大的业务人员谋福利,支持托拉拽做图表,一屏完成自助分析和数据查询,界面清新脱俗。所见即所得的仪表盘设计;丰富的交互控件和图表组件;智能图形推荐;支持业务主题和自助数据集;流式布局,支持发布到APP。

    在这里插入图片描述

    自助仪表盘发布移动端更美观,更快捷

    展开全文
  • 是使用Web Audio API为HTML5游戏和交互式网站创建的音频引擎。 它提供了一个简单的抽象,可以更轻松地创建和播放声音。 以下是该库支持的一些核心功能。 建立在强大的Web Audio API之上 简单的API来创建和播放声音...
  • ChatUP-它是一个具有聊天功能和相关机制的交互式平台,可在不依赖流行平台的情况下进行简单而可靠的流式传输。 设置 使用外部服务或通过Docker开始: docker-compose up -d 迁移数据库: python manage.py ...
  • KSQL降低了进入流处理的门槛,提供了一个简单的、完全交互式的SQL接口,用于处理Kafka的数据。你不再需要用Java或Python这样的编程语言编写代码了!KSQL是开源的(Apache2.0许可)、分布式的、可扩展的、可靠的和实时...
  • 允许同时以低内存/ CPU占用空间将SSE流式传输到众多客户端 使用提供的Docker映像,Heroku()或 ()易于部署 可以在生产中服务资产 保留有关已定义作业的统计信息,并随附一个仪表板以对其进行监视() 可以对...
  • 基于历史数据的交互式查询,通常时间跨度在数十秒到数分钟之间 复杂的批量数据处理,通常的时间跨度在几分钟到数小时之间 1.流处理 流是一种数据传送技术,它把客户端数据变成一个稳定的流。正是由于数据传送呈现...
  • kudu、Impala、交互式查询

    千次阅读 2018-09-04 18:44:02
    1、Kudu Hadoop生态系统发展到现在,存储层主要由HDFS和HBase两个系统把持着,一直没有太大突破。...有人尝试修改HBase内核构造这样的系统,即保留HBase的数据模型,而将其底层存储部分改为纯列存储(目前HB...
  • 大数据处理系统可分为批(batch)大数据和流式(streaming)大数据两类。其中,批大数据又被称为历史大数据,流式大数据又被称为实时大数据。 复杂的批量数据处理(batch data processing),通常的时间跨度在数十...
  • SparkStreaming是大规模流式数据处理的新贵,将流式计算分解成一系列短小的批处理作业。本文阐释了SparkStreaming的架构及编程模型,并结合实践对其核心技术进行了深入的...2.基于历史数据的交互式查询(interactiveque
  • Node.js 是什么?Node.js与JavaScript的区别是什么?

    万次阅读 多人点赞 2019-06-06 23:37:49
    事件驱动REPLREPL(Read-Eval-Print Loop) 中文的话有翻译成“交互式解释器”或“交互式编程环境”的。 作者:cici_Gao 链接: https://www.jianshu.com/p/21d3130ca059 来源:简书 简书著作权归作者所有,...
  • 批量和流式的区别: 1.数据处理单位: 批量计算按数据块来处理数据,每一个task接收一定大小的数据块,比如MR,map任务在处理完一个完整的数据块后(比如128M),然后将中间数据发送给reduce任务。 流式计算的...
  • WPF学习

    万次阅读 多人点赞 2019-03-05 22:00:17
    StackPanel可以把内部元素在纵向或横向上紧凑排列、形成栈布局。也可以用Grid完成上面窗体,代码如下。 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x=...
  • 什么是流式输出?

    2021-02-18 13:56:57
    流式(Stream)亦称响应,是一种基于异步数据流研发框架,是一种概念和编程模型,并非一种技术架构,目前在各技术栈都有响应的技术框架,前端的React.js、RxJs,服务端以RxJava、Reactor,Android端的RXJava。...
  • Spark学习笔记:Spark基础

    千次阅读 多人点赞 2018-09-03 23:39:57
    Spark-shell是Spark自带的交互式程序,方便用户进行交互式变成,用户可以在该命令行下用scala编写spark程序。 Spark-shell有两种运行模式:本地模式和集群模式 本地模式:不连接到集群,在本地直接执行Spark任务...
  • 交互式监视模式下启动测试运行程序。 有关更多信息,请参见关于的部分。 npm run build 构建生产到应用程序build文件夹。 它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 最小化构建,文件名...
  • streamlit-hello-app 我的精简精简应用部署了heroku
  • 流式处理和批处理的区别

    千次阅读 2020-12-07 19:10:35
    流式处理(Stream Processing) 是针对 批处理(Batch Processing)来讲的,即它们是两种截然不同的数据处理模式,具有不同的特点,适用于不同的应用场合。不能简单地认为其中一种数据处理模式优于另一种数据处理...
  • 大数据流式计算

    2021-08-29 13:26:00
    流式计算简介 流式计算 常⻅的离线和流式计算框架 SparkStreaming简介 SparkStreaming基本⼯作原理 Storm V.S. SparkStreaming V.S. Flink 如何选择⼀款合适的流式处理框架 流式计算简介 流式计算 如何去...
  • 与FlowML结合使用,可以轻松地进行交互式程序化数据分析。 入门 克隆存储库,然后在Mac或Linux系统上运行start_server.sh脚本。 动机 关于流式细胞术数据,我们想问很多问题-有些甚至我们还不知道。 问题在于GUI界面...
  • 我们现在在切页面布局的使用常用的单位是px,这是一个绝对单位,webapp的屏幕适配有很多中做法,例如:流式布局、限死宽度,还有就是通过响应来做,但是这些方案都不是最佳的解决方法。 1、流式布局: 例如流式...
  • 推出 KSQL 是为了降低流式处理的门槛,为处理 Kafka 数据提供简单而完整的可交互式 SQL 接口。KSQL 目前可以支持多种流式操作,包括聚合(aggregate)、连接(join)、时间窗口(window)、会话(session),等等。
  • 流式数据分析处理的常规方法

    万次阅读 2018-04-16 20:56:43
    《Designing Data-Intensive Applications》的核心部分都已经翻译完成了。此书是分布式系统架构必读书,出版于2017年,中文版目前还没有面世。...流式处理的一些常用方法: Complex Event Processing ( CEP) ...
  • 一些API的使用(对照流式交互Demo) 先看一下demo的整体效果       这里先贴出单Activity的代码,代码内我添加了一些注释,基本可以了解清楚MainActivity 中做了哪些事情。这里可以列出比较重要的Api: ...

空空如也

空空如也

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

交互式流式