CN105740316B - 基于本地处理的样本数据的行为一致的集群范围数据整理 - Google Patents
基于本地处理的样本数据的行为一致的集群范围数据整理 Download PDFInfo
- Publication number
- CN105740316B CN105740316B CN201511027927.5A CN201511027927A CN105740316B CN 105740316 B CN105740316 B CN 105740316B CN 201511027927 A CN201511027927 A CN 201511027927A CN 105740316 B CN105740316 B CN 105740316B
- Authority
- CN
- China
- Prior art keywords
- data
- client device
- local client
- grooming
- operations
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
示范性实施例包括用于行为一致的数据整理的***、存储至少一个程序的计算机可读存储介质以及计算机实现方法。本地客户端设备从远程数据库选择原始样本数据集。然后本地运行引擎将一个或多个本地数据整理操作应用于原始样本数据。如果本地数据整理操作的结果令人满意,则本地数据整理操作可以被转移到远程数据整理集群。然后,由远程数据整理集群运行的远程运行引擎将数据整理操作应用于从其获得样本原始数据的较大的原始数据集。因为远程运行引擎和本地运行引擎属于相同类型,所以由本地运行引擎展示的数据整理行为反映在远程运行引擎的数据整理行为中。
Description
技术领域
本申请的示范性实施例一般涉及数据处理,并且更加具体来说,涉及基于对较小子集执行的数据整理的大规模数据整理。
背景技术
数据整理是将数据从一种“原始”形式变换或映射为允许更加方便使用数据的形式的处理过程。这样的使用可以包括进一步的整理、数据可视化、数据聚合以及训练统计模型以及许多其它可能的使用。数据整理有时遵循基本步骤的集合,其开始于从数据源提取原始形式的数据,使用各种硬件和/软件模块“整理”原始数据,将数据解析为预定数据结构以及将所得到的结构化内容存储到可存取数据库中供存储以及未来使用。
通常对大数据集执行数据整理,并且可以通过使用可由不同类型的运行引擎执行的各种操作执行数据整理。但是,当对小的数据集执行这些类型的操作时,这些操作运行更慢。此外,如果用户设计整理操作集合时,不同的运行引擎可以不同地实现经设计的整理操作集合。换句话说,尽管一个运行引擎可以适用于大数据集并且第二运行引擎可以适用于小数据集,但是没有确保第一和第二运行引擎的行为将是相等的。因此,即使所请求的数据整理操作是相同的,第一运行引擎和第二运行引擎的输出也可能是不同的。
发明内容
根据本申请的一方面,提供一种方法,包括:在本地客户端设备中从第二多个原始数据中选择第一多个原始数据,第二多个原始数据被存储在远离本地客户端设备处;在本地客户端设备中接收第一多个原始数据;在本地客户端设备中选择对第一多个原始数据执行的多个数据整理操作;在本地设备中将所述多个数据整理操作应用于第一多个原始数据以获得第一多个结构化数据;以及发送所述多个数据整理操作的选择到远程设备,所述远程设备被配置为将所选择的多个数据整理操作应用于第二多个原始数据以获得第二多个结构化数据,第二多个结构化数据具有基于第一多个结构化数据的期望的组织。
根据本申请的另一方面,提供一种***,包括:存储计算机可运行指令的非瞬时计算机可读介质;和在本地客户端设备中运行计算机可运行指令的一个或多个处理器,其被配置为:在本地客户端设备中从第二多个原始数据中选择第一多个原始数据,第二多个原始数据存储在远离本地客户端设备处;在本地客户端设备中接收第一多个原始数据;在本地客户端设备中选择要对第一多个原始数据执行的多个数据整理操作;在本地设备中将所述多个数据整理操作应用于第一多个原始数据以获得第一多个结构化数据;以及将所述多个数据整理操作的选择发送到远程设备,所述远程设备被配置为将所选择的多个数据整理操作应用于第二多个原始数据以获得第二多个结构化数据,第二多个结构化数据具有基于第一多个结构化数据的期望的组织。
根据本申请的又一方面,提供一种存储计算机可运行指令的非瞬时计算机可读介质,当计算机可运行指令由一个或多个处理器运行时使得所述一个或多个处理器执行方法,所述方法包括:在本地客户端设备中从第二多个原始数据中选择第一多个原始数据,第二多个原始数据被存储在远离本地客户端设备处;在本地客户端设备中接收第一多个原始数据;在本地客户端设备中选择对第一多个原始数据执行的多个数据整理操作;在本地设备中将所述多个数据整理操作应用于第一多个原始数据以获得第一多个结构化数据;发送所述多个数据整理操作的选择到远程设备,所述远程设备被配置为将所选择的多个数据整理操作应用于第二多个原始数据以获得第二多个结构化数据,第二多个结构化数据具有基于第一多个结构化数据的期望组织。
附图说明
附图中各图仅仅示出本公开的示范性实施例并且不能被视为对本公开范围的限制。
图1是示出根据示范性实施例的、在具有被配置用于通过网络交换数据的客户端-服务器结构的分布式计算环境中的数据整理平台的结构图。
图2是示出根据示范性实施例的、被配置为执行本地数据整理操作的图1的客户端设备的框图。
图3是根据示范性实施例的、被配置为执行远程数据整理操作的图1的数据整理集群的框图。
图4是示出根据示范性实施例的用于准备和预览数据整理操作的方法的流程图。
图5是示出根据示范性实施例的、用于在图1的本地客户端设备中准备和预览本地数据整理操作的、图4的操作的流程图。
图6是示出根据示范性实施例的、用于通过图1的数据整理集群设备运行所选择的数据整理操作的、图4的另一操作的流程图。
图7是计算机***的示范性形式的机器的图示,在该计算机***内可以运行用于使得机器执行这里讨论的方法中的任意一种或多种方法的指令集。
具体实施方式
现在将详细参考用以实现本发明的主题的特定示范性实施例。在附图中示出这些特定实施例的例子,并且在下面的说明书中阐述细节以便提供对本主题的透彻理解。将理解的是,这些示范性不意欲将权利要求范围限制为所示出的实施例。相反,它们是用来包含如可以包括在本公开的范围内的这些替换、修改和等效。
本公开的方面包括用于在本地客户端设备中计划各种数据整理操作、本地预览所计划的数据整理操作以及在远程设备中应用所计划的数据整理操作以使得在远程设备中的结果结构化数据按照在本地客户端设备中所计划(例如,预览的)那样被结构化。在示范性实施例中,一个或多个用户可以计划和预览对于一个或多个数据记录的数据整理操作。为了本公开的目的,“数据整理”指的是将数据从一种格式(例如,“原始”格式)变换或映射到允许更方便消费数据的另一种格式的技术。“原始”数据,也可以被称作“初始”数据,是用于从源收集到的并且尚未经过处理或任何其它操作的数据的术语。数据整理包括以使得原始数据可以被其它(例如,客户端设备、应用等等)消费的方式来变换、结构化或者组织原始数据。为了公开的目的,术语“数据记录”可以指代任意项所存储的信息。例如,术语“数据记录”可以用来泛指存储在数据库中的文档或者表,或者可以用来特别指代这样的文档或者表的字段、成员或者元素。
按照一些实施例,本地客户端设备可以实例化或者实现各种应用或者模块,其帮助用户计划和/或预览数据整理操作。另外,本地客户端设备可以将待处理的远程存储的数据集(例如,一个或多个数据记录)的选定部分转移。转移数据集的选定部分的技术的好处在于,处理样本数据的存储器和处理器需求相对低于必须存储和处理整个数据集的存储器和处理器需求。数据集可以包括几百万的数据记录并且可以分布在多个数据库上。转移这样的大数据集到本地客户端设备是不切实际的,因为这将需要本地客户端设备具有相当强大的存储和处理能力,而许多本地客户端设备不具备这样的能力。
另外,本地客户端设备可以实例化运行引擎(例如,应用和/或模块),其被设计成对数据集的转移部分运行计划的数据整理操作。因此,本地客户端设备的用户可以本地预览计划的操作以便了解结构化数据可以如何被组织以供其它(例如,应用、其它客户端设备等等)消费。此外,远程设备可以实例化与本地客户端设备相同类型的运行引擎以使得当用户决定计划的数据整理操作集合时,远程运行引擎生成以用户期望的方式组织的结构化数据。当被提供有相同的数据整理操作集合时,不同类型的运行引擎的行为是不同的;因此,使得在本地客户端设备和远程设备中具有相同类型的运行引擎具有这样的技术利好:确保由远程运行引擎产生的数据被以与数据由本地运行引擎组织相同的方式来组织。此外,根据运行引擎是在本地实现(例如,在客户端设备中)还是远程地实现(例如,在远程设备中),在本地客户端设备和远程设备中具有相同类型的运行引擎降低实现多个不同类型的运行引擎的需要。
除非明确地说明不是如此,否则组件和功能是可选的并且可以组合或再分,并且操作可以在顺序上有所变化或者被组合或再分。在下面的描述中,为了说明的目的,阐述了大量具体细节以提供对示范性实施例的透彻理解。但是,对本领域技术人员来说明显的是,可以在没有这些细节的情况下实践本发明的主题。
图1是示出根据示范性实施例的、包括经由网络106与数据整理集群104通信的本地客户端设备102的数据整理平台100。为了避免因为不必要的细节模糊本发明的主题,不适切传达本发明的主题的理解的各种功能组件(例如,模块和引擎)已经从图1中省略掉。但是,本领域技术人员将容易地认识到,数据整理平台100可以支持各种额外的功能组件以便于没有在这里特别地描述的附加功能。
虽然图1中所示的数据整理平台100采用了客户端-服务器结构,但是本公开的主题当然不局限于这样的结构,并且还能够找出其它结构的应用,诸如事件驱动型、分布式或者对等结构***。而且,数据整理平台100的各种功能组件可以实现为独立***或者软件程序,它们不一定具有网络能力。而且,应当理解,虽然以单数意义讨论数据整理平台100的各种功能组件,但是可以采用一个或多个各种功能组件的多个实例。
如图所示,数据整理平台100包括通过网络106与本地客户端设备102通信的数据整理集群104。数据整理集群104还可以通信地耦接到数据库108。数据整理集群104和本地客户端设备102可以通过各种不同的机制连接到网络106。例如,在有些情况下,数据整理集群104和客户端设备102可以经由Wi-Fi连接(例如802.11a/b/g/n)、国际微波存取互操作(Worldwide Interoperability for Microwave Access,WiMAX)连接、蓝牙、其它类型的无线数据连接或者其组合连接到网络106。在这样的实施例中,网络106可以包括耦接到局域网(LAN)、诸如因特网的广域网(WAN)或者其它分组交换或者电路交换数据网络的一个或多个无线接入点。在其它实例中,到网络106的连接可以是有线连接,例如,以太网链接,而且网络106可以是LAN、WAN、因特网或者其它分组交换或者电路交换数据网络。
客户端设备102可以是被配置为访问数据整理集群104的任一设备或者设备组合。对此,客户端设备102可以包括台式计算机、膝上型计算机、个人数字助理(PDA)、智能手机、平板计算机或者任何其它种类的计算设备。此外,在一些实施例中,客户端设备102可以包括设备组合。客户端设备102可以方便访问数据整理集群104和/或数据库108。
数据整理集群104可以被配置为检索和处理存储在数据库108中的一个或多个数据记录。在有些情况下,以及如下面参考图3所讨论的那样,数据整理集群104可以包括诸如服务器、计算机和其它这样的设备之类的若干设备(例如,节点),它们被配置为检索和处理存储在数据库108中的数据。数据整理集群104可以实例化用于分析和处理数据库108存储的数据的框架,诸如Apache Hadoop。Apache Hadoop是一个用于分布式存储器和处理一个或多个数据集群上的大量数据的开放式源软件框架。另外,数据整理集群104可以实现处理数据库108的数据的文件***,诸如Hadoop分布式文件***(Hadoop Distributed FileSystem,HDFS)。HDFS将文件分割为大块(默认64MB或者128MB)并且在集群中的节点之间分配这些块。另外或者可替换地,数据整理集群104可以实现其它文件***,诸如Amazon S3文件***、Windows Azure Storage Blobs(WASB)或者被设计为支持大量信息(例如,petabyte、exabyte、zettabyte等等)的任一其它这样的文件***。
数据库108可以被配置为存储未结构化(例如,原始)数据以供数据整理集群104处理和组织。在一个实施例中,数据库108包括一个或多个数据对象(例如,数据记录)。数据对象可以使用在数据库方案中定义的分类来建模。数据库方案可以定义数据库108结构的逻辑和/或物理定义。此外,虽然图1示出数据库108为单个结构,但是数据库108可以包括一个或多个数据存储结构,诸如一个或多个数据库、一个或多个平面文件或者二者的组合。附加类型的数据可以包括由逗号分隔的值(comma-separated value,CSV)文件、Java脚本对象注释(JavaScript Object Notation,JSON)文件以及其它这样的文件。
数据库108存储的数据记录可以包括从一个或多个源获取的许多不同类型的数据。例如,数据可以包括来自气象站的天气数据(例如,温度、压力、降雨量等等)、来自交通监测站的交通数据(例如,交通流动速率、天气状况等等)、从一个或多个全球定位***(GPS)信息供应商获取的GPS数据、点击链接行为数据(例如,关于在网络广告或者其它超链接上网址点击的访客的数据)以及其它这样的数据。因为数据库108存储的数据是用来用于分析和标识行为、模式、趋势等等,所以数据库108可以被配置为存储成千上万的数据记录。因此,数据库108存储的数据量相对于客户端设备102存储的数据量要大得多。
客户端设备102可以被配置为经由数据整理集群104检索以及本地处理存储在数据库108中的数据记录的所选择的样本。图2是根据示范性实施例的、被配置为执行本地数据整理操作的图1的数据整理平台100的客户端设备102的框图。在一个实施例中,客户端设备102包括一个或多个处理器202、网络接口204以及电子存储设备206(例如,非瞬时的计算机可读介质)。
客户端设备102的各种功能组件可以保存在单个计算机(例如,服务器),或者可以分布在以各种布置的若干计算机上。此外,客户端设备102的各种组件可以访问一个或多个数据库,并且客户端设备102的各种组件中的每一个可以彼此通信。而且,虽然以单数意义讨论图2的组件,但是将理解的是,在其它实施例中可以采用组件的多个实例。
一个或多个处理器202可以是任一类型的商业可用处理器,诸如可以从Intel公司、Advanced Micro Devices、Texas Instruments或者其它这样的处理器中获得的处理器。此外,一个或多个处理器202可以是诸如被布置为执行分布计算的处理器之类的处理器的任一组合。
网络接口204可以被配置为发送数据到数据整理集群104和/或从数据整理集群104接收数据,诸如从数据库108检索到的数据。对于此点,网络接口204可以是诸如以太网接口之类的有线接口、诸如802.11g/n接口之类的无线接口或者有线和无线接口的组合。电子存储设备206可以包括被配置为存储用于运行本地数据整理操作的一个或多个应用208和用于支持一个或多个应用208的数据210的存储器。如这里所使用的那样,术语“存储器”指的是能够临时或者永久地存储数据的非瞬时的、机器可读介质并且可以用于包括但不局限于随机存取存储器(RAM)、只读存储器(ROM)、固态存储器、光介质、磁介质或者其任一适当的组合。虽然在示范性实施例中电子存储设备206被示为单个设备,但是电子存储设备206可以包括能够存储信息的单个设备或者多个设备(例如,集中式或者分布式数据库、或者关联高速缓存和服务器)。
(多个)应用208可以包括被配置为便于从数据库108检索所选择的数据的样本的一个或多个应用和/或模块。如在相关计算机和与因特网相关的技术中的技术人员所理解的那样,组件212-218(例如,模块或者引擎)中的每一个可以表示可执行软件指令集和用于运行指令的相应硬件(例如,存储器和处理器)。在一个实施例中,(多个)应用208包括图形用户界面(GUI)212、数据检索模块214、操作翻译器216和运行引擎218。(多个)应用208可以与存储在电子存储设备206中的数据210,诸如检索到的样本数据220、数据整理操作222的库、所选择的数据整理操作224和结构化样本数据226,交互。下面讨论各种(多个)应用208和数据210。
因为本地客户端设备102被配置为检索和处理存储在数据库108中的数据的样本,所以图形用户界面212可以被配置为允许用户选择数据的样本以便经由数据检索应用和/或模块214来检索。对于此点,数据检索应用和/或模块214可以是正在由客户端设备102本地运行的编程客户端、在诸如Internet这样的因特网浏览器中运行的网络客户端或者、编程和/或基于网络的客户端的组合。因此,图形用户界面212可以是编程界面、基于web的界面、或者编程和基于web的界面的组合。
在附加或者替换实施例中,数据检索应用和/或模块214可以经由图形用户界面212显示关于存储在数据库108中的信息,并且可以自动地检索将要对其执行本地数据整理操作的预定的数据的样本。这样的信息可以包括存储在数据库108中的原始数据的类型、存储在数据库108中的数据记录的数目、原始数据的一个或多个数据记录的特定值以及其它这样的信息。在选择原始样本数据中,可以由客户端设备102检索任意(或者伪随机)选择存储在数据库108中的数据。通过使用数据的伪随机选择,客户端设备102可以获得存储在数据库108中的数据的更具代表性的描绘。此外,当选择的数据整理操作被应用于数据的伪随机样本时,所得到的结构化数据可以提供比如果由用户或者以有序(例如,连续的)方式进行选择更具代表性的结果。
存储在数据库108中的原始数据的所选择的样本可以经由数据整理集群104被转移到客户端设备102并且存储为原始样本数据220。如前所述,原始样本数据220可以是未组织的或未处理的并且具有从数据源获得的形式。
数据210可以包括能够对原始样本数据220执行的数据整理操作222的库。数据整理操作的例子包括分割数据列,搜索和替换给定字符或者字符的字符串,或者将数据从一种类型(例如,“字符串”数据类型)变换为第二类型(例如,“日期”数据类型)。
通常,通过提供命令给数据整理应用或者模块(例如,被配置为运行所提供的命令的运行引擎)来执行数据整理操作222。一个或多个数据整理操作(例如,提供给运行引擎的命令)可以用计算机编程、脚本和/或查询语言来编写。计算机编程和脚本语言的例子包括Apache Pig、Scala、Java、Python以及其它这样的编程或者脚本语言。查询语言的例子包括SQL或者HQL。但是,客户端设备102的用户可能不熟悉这些语言的语法和使用。
因此,(多个)应用208可以包括用于便于用户选择各种数据整理操作的操作翻译器216。操作翻译器216可以被配置为从数据整理操作222的库中检索可用数据整理操作。此外,可用数据整理操作可以以诸如英语、德语、法语或者其它口语这样的口语经由GUI 212显示,以使得用户能够容易地理解他或她可用的数据整理操作。当经由GUI 212选择了数据整理操作的口语翻译时,操作翻译器216可以将对其执行所选择的操作的所有参数或者原始样本数据220一起,提供所选择的操作的经翻译的程序或者脚本语言版本给运行引擎218。因此,结合GUI 212工作的操作翻译器216帮助用户理解哪些数据整理操作可用于对原始样本数据220执行而无需用户必须知道用于实现那些操作的计算机编程或者脚本命令。
另外,操作翻译器216可以被配置为保护用户避免不经意地选择与原始样本数据220不相干的数据整理操作。对于此点,从数据整理操作222的库中检索数据整理操作并且显示给用户可以取决于从数据库108检索到的原始样本数据220。因此,在一些实例中,可以基于原始样本数据220表示的数据的类型来对原始样本数据220进行分类,数据的类型诸如天气数据、交通数据、因特网行为数据以及其它这样的数据类型,并且可从数据整理操作222的库检索到的数据整理操作可以被分配这些数据类型中的一种或多种(例如,一些数据整理操作可以被分配超过一种数据类型)。
为了以例子的方式图示,数据整理操作222的库中的数据整理操作可以被分配温度数据类型并且可以被写入以将值从华氏度变换为摄氏度。如果原始样本数据220是除了温度数据类型之外的数据类型(例如,因特网用户的对网址的点击链接行为),这样的温度变换数据整理操作可能不适用于原始样本数据220。因此,在该例子中,操作翻译器216可以确定不提供这样的操作给用户。可替换地或者另外地,不相干的操作可以经由GUI 212提供给用户(例如,以使得用户能够看到该类型的操作存在于数据整理操作222的库中),但是不相干的操作可以是不可选的(例如,“变灰”)。
在用户令他或者她的数据整理操作选择应用于原始样本数据(或者其部分)之后,操作翻译器216可以将这些已选择的操作存储为所选择的操作数据224。然后,所选择的操作224,与所有提供的参数和/或原始样本数据220一起,可以被提供给本地运行引擎218。
运行引擎218可以被配置为解释并且应用所选择的操作224到原始样本数据220。值得注意的是,根据运行引擎218是正在数据整理集群(例如,数据整理集群104)内运行还是正在具有相较来说较少存储器和处理资源的设备(例如,客户端设备102)上运行,运行引擎218可以被配置为在一个或多个模式下操作。通过配置运行引擎218为在它的“本地模式”(例如,由客户端设备102)下操作,运行引擎218比如果运行引擎218被配置为在它的“集群模式”(例如,由数据整理集群104的一个或多个数据节点)下操作相比更加有效地管理可用资源。
虽然运行引擎218可以在集群模式或者本地模式下运行,但是运行引擎218也可以包括附加或者替换模式。在一个例子中,运行引擎218是Apache Spark,其具有可配置的数据整理模式并且可以从Apache Software Foundation(阿帕奇软件基金会)中获得。运行引擎的其它例子包括来自LexisNexis Risk Management和Apache的高性能计算集群系(High-Performance Computing ClusterHPCC***),其也可从Apache Software Foundation中获得。
在对原始样本数据220(或者其部分)运行一个或多个所选择的操作224之后,运行引擎218获得结构化数据集合,其可以存储为结构化样本数据226。结构化样本数据的例子包括按一天的时间组织的因特网点击链接行为、按速度或者速率顺序地排序的交通数据(例如,车辆中的每一个行进得多快)、根据因特网服务供应商分组的广告收入以及其中原始数据被组织为结构化格式的其它这样的例子。换句话说,结构化样本数据226相对于原始样本数据220被有意义地组织。
结构化样本数据226可以经由GUI 212显示给用户。结构化样本数据226可以被显示给用户以使得用户得以理解所选择的操作224如何组织原始样本数据220,并且最终,从其中选择原始样本数据220的数据集。如果用户发现所选择的操作224的结果令人满意,用户可以将所选择的操作224通信发送给数据整理集群104,然后数据整理集群104可以对存储在数据库108中的数据集执行所选择的操作224。可替换地或者另外地,用户可以选择附加或者不同的数据整理操作以应用于结构化的样本数据226和/或原始样本数据220,选择对其应用所选择的数据整理操作的原始数据的其它样本,和/或选择对其应用不同的数据整理操作集合的原始数据220的其它样本。因此,用户在决定原始样本数据220应当如何基于所应用的数据整理操作来结构化原始样本数据220方面具有灵活性。
当确定所选择的操作224是令人满意地或者完整的时,所选择的操作224可以被通信发送到数据整理集群104以供对数据库108中存储的原始数据执行所选择的操作224。图3是根据示范性实施例的、被配置为执行远程数据整理操作的数据整理集群104的框图。数据整理集群104可以包括一起工作的宽松地或者紧密地连接的计算机集合。如图3所示,数据整理集群104可以包括被配置为执行由集群服务器302分配的任务的一个或多个集群节点304-310。
数据整理集群104的组件(例如,服务器302与节点304-310)可以通过一个或多个网络(例如,一个或多个有线和/或无线网络)连接,其中每个集群节点304-310运行它自己的操作***的实例。虽然不同的操作***的一些结构能够在每个计算机上和/或不同的硬件上使用,集群节点304-310可以配置为具有相同硬件和相同操作***。
为此,服务器302和/或集群节点304-310可以包括在计算机中发现的一个或多个组件。虽然在图3中未示出,但是本领域普通技术人员将理解,这些组件可以包括一个或多个处理器、一个或多个网络接口、一个或多个电子存储设备(例如,一个或多个非瞬时的计算机可读介质)、各种输入和/或输出装置(例如,键盘、鼠标、显示器等等)以及在计算机中发现的其它这样的组件。
如图所示,服务器302的各种组件312-316可以被配置为彼此通信(例如,经由总线、共享存储器、开关或者应用编程接口(API))。另外,服务器302的各种功能组件312-316可以保存在单个计算机上或者可以分布在以各种布置的若干计算机上。此外,服务器302的各种组件312-316可以访问一个或多个数据库,并且服务器302的各种组件312-316中的每一个可以彼此通信。而且,虽然以单数意义讨论图3的组件312-316,但是将理解的是,在其它实施例中可以采用组件的多个实例。
服务器302可以被配置为将所选择的数据整理操作224应用于存储在数据库108中的原始数据(或者其部分)。因此,服务器302可以接收所选择的数据整理操作224并且将像数据整理操作314这样的操作存储在电子存储设备中。服务器302还可以包括运行引擎312,其可以实现为应用、模块或者其组合,并且被配置为将数据整理操作314应用于原始数据。关于这一点,运行引擎312可以与本地客户端设备102实例化的运行引擎(例如,运行引擎218)类型相同,但是被配置为在利用可用于服务器302的计算资源的“集群模式”下操作。
当被配置为在集群模式下操作时,运行引擎312可以结合下面讨论的集群管理器316操作,以利用运行引擎312可用的附加计算资源(例如,瞬时存储器、非瞬时存储器、处理器等等)。因此,在本地客户端设备实例化在本地模式下操作的Apache Spark的情况下,服务器302实例化在集群模式下操作的Apache Spark。通过实例化在本地客户端设备102和在服务器302处相同类型的运行引擎获得的技术利好是,数据整理平台100确保由运行引擎218、312展示出相同的相同数据整理行为。换句话说,实现相同类型的运行引擎确保由数据整理集群104获得的结构化数据与由本地客户端设备102获得的结构化数据一致。
为了平衡数据整理集群104的资源,服务器302可以包括集群管理器316,其可以实现为应用、模块或者其组合。集群管理器的例子包括Apache Spark Standalone、ApacheMesos、Hadoop YARN和其它这样的集群管理器。
通常,集群管理器316基于运行引擎312的资源需求分配来自数据节点304-310中的每一个的资源。因此,集群管理器316可以被配置为基于运行引擎312提供的指令分配数据整理操作314中的一个或多个到集群节点304-310。此外,集群管理器316可以从运行引擎312接收包括来自数据库108的原始数据中的哪些应当使用数据整理操作314进行处理的指令,并且集群管理器316可以将数据整理操作集合与所分配的原始数据一起分配给给定集群节点304-310以供处理。当集群节点304-310对于给定原始数据集完成它们的所分配的数据整理操作时,给定集群节点304-310可以通知集群管理器316其可用性并且等待来自集群管理器316的进一步指令。
虽然图3示出服务器302与集群节点304-310通信,但是附加或者可替换地通信路径也可以是可能的。例如,集群节点304-310可以彼此通信以使得各种集群节点304-310知道它们正在执行的各种操作。用这种方法,分配给集群节点304-310的任务的管理可以分散管理。
关于这一点,集群节点304-310可以存储所分配的数据整理操作和所分配的将使用所分配的数据整理操作处理的原始数据。因此,所分配的数据整理操作可以存储为任务326-332,并且原始数据可以存储为用于集群节点304-310中的每一个的数据334-340。在一个实施例中,数据334-340存储在给定集群节点304-310可访问的非瞬时计算机可读介质中(例如,随机存取存储器(RAM)、硬盘、光驱等等)。此外,集群节点304-310中的每一个可以实例化被实现为应用、模块或者其组合的运行器318-324,其被配置为对所分配的原始数据执行所分配的数据整理操作。在一个实施例中,运行器是在给定集群节点304-310上为运行引擎312启动的线程,其运行任务并且保存数据在跨集群节点304-310(例如,共享的存储空间)的存储器或者磁盘存储器中。如果服务器302实例化或者实现超过一个的运行引擎,运行引擎中的每一个将请求它自己的运行器集合。因此,在一些实施例中,运行器可以分配给一个运行引擎。在其它实施例中,运行器可以在运行引擎之间共享。
当集群节点304-310完成它的分配任务326-332(例如,应用所分配的数据整理操作到原始数据)时,集群节点304-310可以获得结构化数据作为结果。当集群节点304-310完成它们的分配任务326–332时,结构化数据可以存储为数据334-340。在一个实施例中,集群节点304-310将通信发送预定量的所得到的结构化数据(例如,如所获得的,每10兆字节、每10千兆字节等等)到集群管理器316,然后集群管理器316可以处理存储这些结构化数据。在替换实施例中,集群节点304-310存储所得到的结构化数据为数据334-340直到在该点分配给给定节点的所有原始数据被处理,然后节点可以通信发送结构化数据给集群管理器316。在替换实施例中,集群节点304-310可以处理存储结构化数据并且可以当它已经存储了所得到的结构化数据和/或完成了它的分配任务时通知集群管理器316。
在一个实施例中,通过数据整理集群104获得的结构化数据可以存储在通信地耦接到数据整理集群104的数据库108中。另外或者可替换地,结构化数据可以存储在它自己的数据库(未示出)中。
正如以上的讨论,结构化数据可以相对于原始数据被有意义地组织。作为示例,结构化数据可以包括按一天的时间组织的因特网点击链接行为、按速度或者速率顺序地排序的交通数据(例如,车辆中的每一个行进得多快)、根据因特网服务供应商分组的广告收入以及其它这样的结构化数据。结构化数据可以由除了数据整理集群104之外的设备访问,以使得所存储的结构化数据可以被查看和分析。例如,并且参考图2,本地客户端设备102可以检索结构化数据并且分析它以确定在数据中是否存在有趋势或者模式。
图4是示出根据示范性实施例的用于准备和预览数据整理操作的方法402的流程图。方法402可以通过数据整理平台100的一个或多个组件实现,并且因此仅仅通过参考其进行描述。
一开始,数据整理集群104(例如,服务器302)可以接收对于对数据库108的原始数据执行一个或多个数据整理操作的请求(操作404)。然后,本地客户端设备102可以生成并且预览对存储在数据库108中的原始数据的样本的一个或多个本地数据整理操作(操作406),下面参考图5讨论。然后一个或多个本地数据整理操作可以被通信发送给数据整理集群104,以便将本地数据整理操作作为远程数据整理操作来针对数据库108的原始数据(或者其一部分)执行(操作408)。下面将参考图6进一步讨论执行远程数据整理操作。然后应用了远程数据整理操作的结果(例如,结构化数据)可以存储在数据库108中和/或被通信发送以供本地客户端设备102显示(操作410)。
图5是示出根据示范性实施例的、用于在本地客户端设备102处准备和预览本地数据整理操作的操作406的流程图。一开始,并且参考图1,数据整理集群104可以检索关于来自数据库108的信息以发送给本地客户端设备102(操作502)。这样的信息可以包括存储在数据库108中的原始数据的类型、存储在数据库108中的数据记录的数目、原始数据的一个或多个数据记录的特定值以及其它这样的信息。本地客户端设备102的一个或多个应用和/或模块可以使用该信息,诸如数据检索模块214,以选择用于转移到本地客户端设备102的样本原始数据(操作504)。在选择了原始样本数据之后(例如,通过本地客户端设备102的用户,伪随机地、顺序地等等),所选择的原始数据被转移到客户端设备102作为原始样本数据220(操作506)。
接收到了原始样本数据220后,然后本地客户端设备102可以接收对对原始样本数据220执行的一个或多个数据整理操作的选择(操作508)。可以手动地(例如,使用本地客户端设备102的用户)、自动地(例如,操作翻译器216通过预定选择被配置)或者其组合来接收数据整理操作的选择。
如上所述,将对原始样本数据220执行的数据整理操作可以从数据整理操作222的库检索,并且还可以经由GUI 212以口语形式(例如,英语、德语、法语等等)显示。从数据整理操作222的库中选择的数据整理操作可以存储为所选择的数据整理操作224。然后,这些操作可以经由在从多种模式中选择的一种模式(例如,本地模式)下操作的运行引擎218,诸如Apache Spark,来运行(操作510)。
应用了所选择的数据整理操作224的结果可以经由GUI 212显示为结构化样本数据226。在一些实例中,GUI 212可以接收所选择的数据整理操作224是令人满意的手动确认。例如,如果本地客户端设备102的用户发现结构化样本数据226合意,用户可以指示客户端设备102发送所选择的操作224到数据整理集群104以对存储在数据库108中的原始数据(或者其部分)执行所选择的操作224(操作512)。
图6是示出根据示范性实施例的、用于由图1的数据整理集群运行所选择的数据整理操作的图4的操作408的流程图。一开始,并且参考图2和图3,数据整理集群104可以接收所选择的对存储在数据库108中的原始数据(或者其部分)执行的数据整理操作。因此,接收到的数据整理操作可以存储为数据整理操作314。在集群模式下操作的运行引擎312可以请求来自集群管理器316的各种资源以执行数据整理操作314。依次,集群管理器316可以向一个或多个集群节点304-310分配一个或多个任务用于执行数据整理操作314(操作604)。如上所述,所述任务可以包括一个或多个数据整理操作以便对要对其执行所分配的数据整理操作的原始数据(或者原始数据的引用)一起执行。当集群节点304-310完成它们的分配任务时,一个或多个集群节点304-310可以存储分配任务的结果(例如,从原始数据获得的结构化数据)在一个数据库108中或者在一个或多个数据库中。
此外,集群节点304-310可以通知集群管理器316任务完成(操作606)。在一些实例中,集群节点304-310通知集群管理器316关于每个任务完成(例如,一次一个任务)。在其它实施例中,集群节点304-310在它们完成它们的整个分配任务集时通知集群管理器316。通过通知集群管理器316任务完成,集群管理器316能够跟踪哪些集群节点304-310可用于执行额外的任务以及用于执行任一其余数据整理操作的可用资源。
当集群管理器316接收到任务完成的通知时,集群管理器316或者运行引擎312可以确定是否还剩余有数据整理操作或者原始数据供集群节点304-310处理(操作608)。如果确定存在剩余数据整理操作或者原始数据,集群管理器316可以将这些数据整理操作和/或原始数据分配为新的任务供一个或多个集群节点304-310执行(操作610)。可替换地,如果确定数据整理操作已经执行和/或没有原始数据剩余供处理,集群管理器316可以通知运行引擎312所有数据整理操作314已经执行。依次,运行引擎312可以通过服务器302通知本地客户端设备102(或者被配置为接收这样的通知的其它客户端设备)数据整理操作314完成(操作612)。
图7是示出根据示范性实施例的、被配置为读取来自机器可读介质(例如,机器可读的存储介质)的指令并且执行这里讨论的任何一种或多种方法的机器700的组件的框图。具体地说,图7示出计算机***的示范性形式的机器700的图形表示,在该计算机***内可以运行用于使得机器700执行这里讨论的方法中的任意一种或多种方法的指令724(例如,软件)。在替换例子中,机器700操作为独立设备或者可以连接(例如,网络连接)到其它机器。在网络连接部署中,机器700在服务器-客户端网络环境下可以以服务器机器或者客户端机器的容量操作,或者在对等(或者分布式)网络环境下操作为对等机器。机器700可以是服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、PDA、蜂窝式电话、智能手机、网络设备、网络路由器、网络交换机、网络桥接器或者任一能够顺序地或者以另外方式地运行指定将由该机器采取的动作的指令724的机器。而且,虽然仅仅示出单个机器,但是术语“机器”也应当取其包括个别地或者联合地运行用于执行这里讨论的任何一种或多种方法的指令724的机器的集合。
机器700包括处理器702(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、或者其任一适当的组合)、主存储器704和静态存储器706,它们被配置为经由总线708彼此通信。机器700还可以包括视频显示器710(例如,等离子体显示板PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或者阴极射线管(CRT))。机器700还可以包括字母数字输入设备712(例如,键盘)、光标控制装置714(例如,鼠标、触摸板、轨迹球、操纵杆、动作传感器、或者其它指向工具)、存储单元716、信号发生设备718(例如,扬声器)和网络接口设备720。
存储单元716包括其上存储具体实现这里描述的任何一种或多种方法或功能的指令724(例如,软件)的机器可读介质722。指令724还可以在其由机器700的运行期间完全地或者至少部分地驻留于主存储器704内、处理器702内(例如,处理器的高速缓冲存储器内)或者二者内。因此,主存储器704和处理器702可以被视为机器可读介质。指令724可以经由网络接口设备720通过网络726发送或者接收。
贯穿本说明书,多个实例可以实现描述为单个实例的组件、操作或者结构。虽然一个或多个方法的独立操作示出和描述为单独的操作,但是一个或多个独立操作可以同时执行,并且不要求操作以示出的次序执行。示范性结构中提出为单独组件的结构和功能可以实现为组合的结构或组件。类似地,提出为单个组件的结构和功能可以实现为单独的组件。这些和其它变化、修改、添加和改进落入这里的主题的范围。
特定实施例在这里描述为包括逻辑或大量组件、模块或者机制。模块可以构成软件模块(例如,在机器可读介质上具体体现的代码或者以传输信号的形式)或硬件模块。“软件模块”是能够执行给定操作的有形的单元并且可以以给定物理方式配置或者布置。在各种示范性实施例中,一个或多个计算机***(例如,独立计算机***、客户端计算机***、或者服务器计算机***)或者计算机***的一个或多个硬件模块(例如,处理器或者处理器组)可以通过软件(例如,应用或者应用部分)配置为操作用于执行这里描述的给定操作的硬件模块。
在一些实施例中,硬件模块可以机械地、电子地或者其任一适当的组合实现。例如,硬件模块可以包括永久地被配置为执行给定操作的专用电路或逻辑。例如,硬件模块可以是诸如现场可编程门阵列(FPGA)或者ASIC这样的专用处理器。硬件模块还可以包括临时被软件配置为执行给定操作的可编程序逻辑或电路。例如,硬件模块可以包括包含在通用处理器或者其它可编程处理器内的软件。将理解的是,对于机械地、在专用并且永久配置的电路中或者在临时配置的电路(例如,通过软件配置的)中实现硬件模块的决定可能是要考虑成本和时间来驱动。
因此,短语“硬件模块”应当理解为涵盖有形实体,该实体是物理结构的、永久配置的(例如,硬布线的)或者临时配置的(例如编程的)以便以给定方式操作或者以便执行这里描述的给定操作。如这里所使用的那样,“硬件实现的模块”指的是硬件模块。考虑硬件模块被临时配置(例如,编程)的实施例,硬件模块中的每一个不必在任一时间都被配置或实例化。例如,在硬件模块包括被软件配置为变成专用处理器的通用处理器的情况下,通用处理器可以在不同的时间分别被配置为不同的专用处理器(例如,包括不同的硬件模块)。因此,例如,软件可以配置处理器为在某一时间构成特定的硬件模块,而在不同的时间构成不同的硬件模块。
硬件模块能够提供信息给其它硬件模块并且从其它硬件模块接收信息。因此,所描述的硬件模块可以被认为是通信地连接。当多个硬件模块同时存在的情况下,可以通过在两个或多个硬件模块之间的信号传输(例如,通过适当的电路和总线)实现通信。在多个硬件模块在不同的时间被配置或例示的实施例中,这样的硬件模块之间的通信可以通过例如存储与检索多个硬件模块能够访问的存储器结构中的信息来实现。例如,一个硬件模块可以执行操作并且存储其通信地耦接到的存储设备中操作的输出。然后,又一硬件模块在稍后访问存储设备以检索和处理所存储的输出。硬件模块还可以启动与输入或输出设备的通信,并且能够在资源上操作(例如,信息集合)。
本文描述的示例方法的各种操作可至少部分地由被临时配置(例如,由软件)或永久配置来执行相关操作的一个或多个处理器执行。无论是临时还是永久地配置,这种处理器都可构成由处理器实现的模块,这些模块进行操作来执行一个或多个操作或功能。如这里所使用的那样,“处理器实现的模块”指的是使用一个或多个处理器实现的硬件模块。
类似地,本文描述的方法可至少部分由处理器实现,处理器是硬件的一个例子。例如,方法的操作之中的至少一些可由一个或多个处理器或者由处理器实现的模块来执行。而且,一个或多个处理器也可进行操作来支持在“云计算”环境中或者作为“软件即服务”(SaaS)的相关操作的执行。例如,这些操作之中的至少一些可由一组计算机(作为包括处理器的机器的示例)来执行,其中可经由网络(例如,因特网)以及经由一个或多个适当的界面(例如,API)来访问这些操作。
特定操作的执行可以分布在一个或多个处理器当中,不仅仅是驻留在单个机器内,而是部署在大量机器当中。在某些示范性实施例中,一个或多个处理器或者处理器实现的模块可以位于单个地理位置(例如,内部环境、公司环境或者服务器车间内)。在其它示范性实施例中,一个或多个处理器或者处理器实现的模块可以分布在大量地理位置处。
本说明书的一些部分以对在机器存储器(例如,计算机存储器)内的存储为位或者二进制数字信号的操作的算法或者符号表示的术语来提出。这些算法或者符号表示是数据处理领域普通技术人员使用的技术的例子以将他们的工作的实质传达给其他本领域技术人员。如这里使用的那样,“算法”是自相一致的操作顺序或者导致期望结果的类似处理。在本上下文中,算法和操作包括物理量的物理操作。一般地然而并非必要地,这样的量可以采取能够被机器存储、访问、转移、组合、比较或者以另外方式地操纵的电、磁或者光信号的形式。主要出于公共使用的原因,有时候参照使用诸如“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“术语”、“数字”等等之类的措词的信号比较方便。但是,这些措词仅仅是方便的标记并且与适当的物理量相关联。
虽然已经参考特定示范性实施例描述了本公开的实施例,但是显然,可以对这些实施例进行各种修改和改变而不脱离本发明的主题的较宽的精神和范围。因此,说明书和附图被视为说明性的而非限制的。组成说明书部分的附图通过图解而不是限制示出其中可以实践本主题的特定实施例。将足够详细地示出实施例以使本领域技术人员实践这里公开的教导。其它实施例可以使用并且从此衍生,以使得可以进行结构上和逻辑上的置换和改变而不脱离本公开的范围。因此,这些具体实施例不取限制意义,而是本发明的范围仅仅由后附权利要求以及这些权利要求所冠名的等效物的全部范围一起定义。
本发明主题的这些实施例在这里可以个别地和/或共同地由术语“发明”来指代,仅仅为了方便起见而非意欲自行限制本申请的范围为任一单个发明或者发明构思(如果事实上公开了超过一项发明的话)。因此,虽然已经在这里示出并且描述了特定实施例,但是应当理解,任一计划实现相同目的的布置可以被示出的特定实施例代替。本公开是用来涵盖各种实施例的任何或者全部改编或者变化。以上实施例的组合以及其它未在这里具体描述的实施例,在看到以上描述后对本领域技术人员来说是明显可见的。
除非专门指出不是如此,否则这里使用诸如“处理”、“计算”、“确定”、“提出”、“呈现”、“显示”等等之类的措词的讨论可以指代操纵或者变换一个或多个存储器(例如,易失性存储器、非易失性存储器或者其任一适当的组合)、寄存器或者接收、存储、发送或者显示信息的其他机器部件内被表示为物理(例如,电、磁或者光)量的数据的机器(例如,计算机)的动作或者处理。此外,除非专门指出不是这样,否则术语“一”、“一个”如在专利文件中通用的那样在这里使用以包括一个或多于一个的实例。最后,如这里所使用的那样,连接“或”指代非排除性的“或”,除非专门指出不是如此。
Claims (14)
1.一种数据处理方法,包括:
在本地客户端设备中从第二多个原始数据中选择第一多个原始数据,第二多个原始数据被存储在远离本地客户端设备处并且能够由远程设备访问;
在本地客户端设备中接收第一多个原始数据;
在本地客户端设备中从数据整理操作的库中选择要对第一多个原始数据执行的多个数据整理操作;
在本地客户端设备中实例化在从多个模式中选择的第一模式下操作的第一数据整理模块,第一模式是基于本地客户端设备可用的计算资源来选择的;
使用本地客户端设备的至少一个硬件处理器,使用第一数据整理模块的第一模式将所述多个数据整理操作应用于第一多个原始数据以获得第一多个结构化数据;
通过本地客户端设备的用户界面来呈现第一多个结构化数据;
在呈现第一多个结构化数据之后,通过本地客户端设备的用户界面接收指示确认第一多个结构化数据的输入;以及
响应于接收到所述输入,将所述多个数据整理操作的选择发送到远程设备,所述远程设备被配置为:
实例化在从多个模式中选择的第二模式下操作的第二数据整理模块;
使用第二数据整理模块的第二模式将所选择的多个数据整理操作应用于第二多个原始数据以获得第二多个结构化数据,第二多个结构化数据具有基于第一多个结构化数据的期望的组织。
2.如权利要求1所述的数据处理方法,还包括:
从远程设备接收数据整理操作已经被应用于第二多个原始数据的通知。
3.如权利要求1所述的数据处理方法,其中,第一多个原始数据是第二多个原始数据的子集。
4.如权利要求1所述的数据处理方法,其中,第一多个结构化数据相对于第一多个原始数据被有意义地组织。
5.如权利要求1所述的数据处理方法,其中,所述远程设备包括节点集群,并且至少一个节点是从节点集群中选择的,以对第二多个原始数据的子集执行从所述多个数据整理操作中选择的至少一个数据整理操作。
6.一种数据处理***,包括:
存储计算机可运行指令的非瞬时计算机可读介质;和
在本地客户端设备中运行计算机可运行指令的一个或多个处理器,其被配置为执行操作,包括:
在本地客户端设备中从第二多个原始数据中选择第一多个原始数据,第二多个原始数据存储在远离本地客户端设备处并且能够由远程设备访问;
在本地客户端设备中接收第一多个原始数据;
在本地客户端设备中从数据整理操作的库中选择要对第一多个原始数据执行的多个数据整理操作;
在本地客户端设备中实例化在从多个模式中选择的第一模式下操作的第一数据整理模块,第一模式是基于本地客户端设备可用的计算资源来选择的;
使用本地客户端设备的至少一个硬件处理器,使用第一数据整理模块的第一模式将所述多个数据整理操作应用于第一多个原始数据以获得第一多个结构化数据;
通过本地客户端设备的用户界面来呈现第一多个结构化数据;
在呈现第一多个结构化数据之后,通过本地客户端设备的用户界面接收指示确认第一多个结构化数据的输入以及
响应于接收到所述输入,将所述多个数据整理操作的选择发送到远程设备,所述远程设备被配置为:
实例化在从多个模式中选择的第二模式下操作的第二数据整理模块;
使用第二数据整理模块的第二模式将所选择的多个数据整理操作应用于第二多个原始数据以获得第二多个结构化数据,第二多个结构化数据具有基于第一多个结构化数据的期望的组织。
7.如权利要求6所述的数据处理***,其中,所述一个或多个处理器还被配置为:
从远程设备接收数据整理操作已经被应用于第二多个原始数据的通知。
8.如权利要求6所述的数据处理***,其中,第一多个原始数据是第二多个原始数据的子集。
9.如权利要求6所述的数据处理***,其中,第一多个结构化数据相对于第一多个原始数据被有意义地组织。
10.如权利要求6所述的数据处理***,其中,所述远程设备包括节点集群,并且至少一个节点是从节点集群中选择的,以对第二多个原始数据的子集执行从所述多个数据整理操作中选择的至少一个数据整理操作。
11.一种存储计算机可运行指令的非瞬时计算机可读介质,当计算机可运行指令由本地客户端设备的一个或多个处理器运行时使得所述一个或多个处理器执行操作,所述操作包括:
在本地客户端设备中从第二多个原始数据中选择第一多个原始数据,第二多个原始数据被存储在远离本地客户端设备处并且能够由远程设备访问;
在本地客户端设备中接收第一多个原始数据;
在本地客户端设备中从数据整理操作的库中选择要对第一多个原始数据执行的多个数据整理操作;
在本地客户端设备中实例化在从多个模式中选择的第一模式下操作的第一数据整理模块,第一模式是基于本地客户端设备可用的计算资源来选择的;
使用本地客户端设备的至少一个硬件处理器,使用第一数据整理模块的第一模式将所述多个数据整理操作应用于第一多个原始数据以获得第一多个结构化数据;
通过本地客户端设备的用户界面来呈现第一多个结构化数据;
在呈现第一多个结构化数据之后,通过本地客户端设备的用户界面接收指示确认第一多个结构化数据的输入;
响应于接收到所述输入,将所述多个数据整理操作的选择发送到远程设备,所述远程设备被配置为:
实例化在从多个模式中选择的第二模式下操作的第二数据整理模块;
使用第二数据整理模块的第二模式将所选择的多个数据整理操作应用于第二多个原始数据以获得第二多个结构化数据,第二多个结构化数据具有基于第一多个结构化数据的期望的组织。
12.如权利要求11所述的非瞬时计算机可读介质,其中,所述操作还包括:
从远程设备接收数据整理操作已经被应用于第二多个原始数据的通知。
13.如权利要求11所述的非瞬时计算机可读介质,其中,第一多个原始数据是第二多个原始数据的子集。
14.如权利要求11所述的非瞬时计算机可读介质,其中,第一多个结构化数据相对于第一多个原始数据被有意义地组织。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/588,022 US9785698B2 (en) | 2014-12-31 | 2014-12-31 | Behaviorally consistent cluster-wide data wrangling based on locally processed sampled data |
US14/588,022 | 2014-12-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740316A CN105740316A (zh) | 2016-07-06 |
CN105740316B true CN105740316B (zh) | 2020-10-16 |
Family
ID=54838150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511027927.5A Active CN105740316B (zh) | 2014-12-31 | 2015-12-30 | 基于本地处理的样本数据的行为一致的集群范围数据整理 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9785698B2 (zh) |
EP (1) | EP3040879B1 (zh) |
CN (1) | CN105740316B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9779134B2 (en) * | 2014-12-26 | 2017-10-03 | Business Objects Software Ltd. | System and method of data wrangling |
US11307863B1 (en) * | 2018-10-08 | 2022-04-19 | Nvidia Corporation | Graphics processing unit systems for performing data analytics operations in data science |
US11727028B2 (en) * | 2020-04-24 | 2023-08-15 | Microstrategy Incorporated | Methods and systems for data wrangling |
CN113590651B (zh) * | 2021-08-18 | 2023-06-20 | 四川新网银行股份有限公司 | 一种基于hql的跨集群数据处理***及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6424969B1 (en) * | 1999-07-20 | 2002-07-23 | Inmentia, Inc. | System and method for organizing data |
CN101018259A (zh) * | 2006-02-08 | 2007-08-15 | 中国电信股份有限公司 | 电信综合信息***及方法 |
CN103678665A (zh) * | 2013-12-24 | 2014-03-26 | 焦点科技股份有限公司 | 一种基于数据仓库的异构大数据整合方法和*** |
CN104205039A (zh) * | 2011-07-07 | 2014-12-10 | 百科纳有限公司 | 使用兴趣驱动数据管线进行数据分析的兴趣驱动商业智能***和方法 |
CN104584008A (zh) * | 2012-07-25 | 2015-04-29 | 甲骨文国际公司 | 用于个性化应用的启发式高速缓存 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070067373A1 (en) * | 2003-11-03 | 2007-03-22 | Steven Higgins | Methods and apparatuses to provide mobile applications |
US7464084B2 (en) * | 2006-01-30 | 2008-12-09 | International Business Machines Corporation | Method for performing an inexact query transformation in a heterogeneous environment |
CN201142074Y (zh) * | 2008-01-11 | 2008-10-29 | 南宁市北斗星通信有限公司 | 信息资源整合*** |
CN101488148A (zh) * | 2009-02-25 | 2009-07-22 | 浪潮集团山东通用软件有限公司 | 一种从多个数据库中进行数据整理归集的方法 |
US8484212B2 (en) * | 2011-01-21 | 2013-07-09 | Cisco Technology, Inc. | Providing reconstructed data based on stored aggregate data in response to queries for unavailable data |
CN102647439A (zh) * | 2011-10-31 | 2012-08-22 | 李宗诚 | 企业价值链网络配置***的ict 网络对接技术 |
US9262535B2 (en) | 2012-06-19 | 2016-02-16 | Bublup Technologies, Inc. | Systems and methods for semantic overlay for a searchable space |
US8751499B1 (en) * | 2013-01-22 | 2014-06-10 | Splunk Inc. | Variable representative sampling under resource constraints |
US8682906B1 (en) * | 2013-01-23 | 2014-03-25 | Splunk Inc. | Real time display of data field values based on manual editing of regular expressions |
CN102866911B (zh) * | 2012-09-12 | 2015-03-25 | 北京航空航天大学 | Mashup应用建立方法及装置 |
CN104951464B (zh) * | 2014-03-27 | 2018-09-11 | 华为技术有限公司 | 数据存储方法及*** |
CN104199992B (zh) * | 2014-09-28 | 2018-03-09 | 北京奇虎科技有限公司 | 数据拖取的方法和装置 |
-
2014
- 2014-12-31 US US14/588,022 patent/US9785698B2/en active Active
-
2015
- 2015-12-08 EP EP15003492.4A patent/EP3040879B1/en active Active
- 2015-12-30 CN CN201511027927.5A patent/CN105740316B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6424969B1 (en) * | 1999-07-20 | 2002-07-23 | Inmentia, Inc. | System and method for organizing data |
CN101018259A (zh) * | 2006-02-08 | 2007-08-15 | 中国电信股份有限公司 | 电信综合信息***及方法 |
CN104205039A (zh) * | 2011-07-07 | 2014-12-10 | 百科纳有限公司 | 使用兴趣驱动数据管线进行数据分析的兴趣驱动商业智能***和方法 |
CN104584008A (zh) * | 2012-07-25 | 2015-04-29 | 甲骨文国际公司 | 用于个性化应用的启发式高速缓存 |
CN103678665A (zh) * | 2013-12-24 | 2014-03-26 | 焦点科技股份有限公司 | 一种基于数据仓库的异构大数据整合方法和*** |
Also Published As
Publication number | Publication date |
---|---|
US9785698B2 (en) | 2017-10-10 |
US20160188692A1 (en) | 2016-06-30 |
EP3040879B1 (en) | 2021-11-03 |
EP3040879A1 (en) | 2016-07-06 |
CN105740316A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663033B2 (en) | Design-time information based on run-time artifacts in a distributed computing cluster | |
Belcastro et al. | Programming models and systems for big data analysis | |
Vossen | Big data as the new enabler in business and other intelligence | |
JP6356273B2 (ja) | バッチ最適化レンダリング及びフェッチアーキテクチャ | |
US20180101529A1 (en) | Data science versioning and intelligence systems and methods | |
CN105740316B (zh) | 基于本地处理的样本数据的行为一致的集群范围数据整理 | |
EP3353683A1 (en) | Advanced computer implementation for crawling and/or detecting related electronically catalogued data using improved metadata processing | |
US9705986B2 (en) | Elastic scalability of a content transformation cluster | |
Read et al. | geoknife: reproducible web‐processing of large gridded datasets | |
Cengiz et al. | Recent emerging technologies for intelligent learning and analytics in big data | |
US10133798B2 (en) | Content transformations using a transformation node cluster | |
Yang et al. | A scalable cyberinfrastructure and cloud computing platform for forest aboveground biomass estimation based on the Google Earth Engine | |
Luckow et al. | Data infrastructure for intelligent transportation systems | |
US9875278B2 (en) | Modified data query function instantiations | |
US20160378830A1 (en) | Data processing system and data processing method | |
Wu et al. | A geospatial information grid framework for geological survey | |
AlBar et al. | Combining the power of IoT and big data to unleash the potential of digital oil field | |
Singh et al. | An automated and optimized approach for online spatial biodiversity model: a case study of OGC web processing service | |
Mattmann et al. | Scalable data mining, archiving, and big data management for the next generation astronomical telescopes | |
US10366130B2 (en) | Generation of complementary applications | |
Sorokine et al. | Big data as a service from an urban information system | |
Karnatak et al. | Online spatial data analysis and algorithm development for geo-scientific applications using remote sensing data | |
Ayma et al. | On the architecture of a big data classification tool based on a map reduce approach for hyperspectral image analysis | |
Hagedorn et al. | LODHub—A platform for sharing and integrated processing of linked open data | |
US20240184416A1 (en) | Integrated energy data science platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |