KR20170073604A - 데이터 미리보기를 통한 작업 작성 기법 - Google Patents

데이터 미리보기를 통한 작업 작성 기법 Download PDF

Info

Publication number
KR20170073604A
KR20170073604A KR1020177010813A KR20177010813A KR20170073604A KR 20170073604 A KR20170073604 A KR 20170073604A KR 1020177010813 A KR1020177010813 A KR 1020177010813A KR 20177010813 A KR20177010813 A KR 20177010813A KR 20170073604 A KR20170073604 A KR 20170073604A
Authority
KR
South Korea
Prior art keywords
data
preview
workspace
component
data source
Prior art date
Application number
KR1020177010813A
Other languages
English (en)
Inventor
셰릴 코리스
크리스티나 스톰
앤드류 제이 피코크
아미르 네츠
치우 잉 청
마이클 제이 플라스코
케빈 그릴리쉬
지오반니 엠 델라-리베라
소니아 피 칼슨
마크 더블유 헤닝거
파울라 엠 바흐
타우린 에이 존스
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20170073604A publication Critical patent/KR20170073604A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • G06F17/30563
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2393Updating materialised views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
    • G06F17/30383
    • G06F17/30589

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)

Abstract

시각적 워크스페이스를 이용하여 작업이 작성될 수 있다. 워크스페이스 내의 데이터 소스의 표현이 선택되면, 데이터 소스의 미리보기가 시각적 워크스페이스의 컨텍스트 내에 생성될 수 있다. 또한, 하나 이상의 변환 동작의 표현이 미리보기 내에 제공될 수 있다. 변환 동작의 선택은 동작의 적용을 반영하도록 업데이트된 미리보기와 동작을 수행하기 위한 백엔드 코드의 생성을 야기한다. 아울러, 하나 이상의 변환 동작을 포함하는 작업이 워크스페이스에 자동으로 추가될 수 있다.

Description

데이터 미리보기를 통한 작업 작성 기법{JOB AUTHORING WITH DATA PREVIEW}
가치있는 통찰력을 얻기 위해 방대한 양의 데이터 또는 소위 빅 데이터를 처리하려면 먼저 데이터를 변환하는 것이 필요하다. 하나 이상의 작업(job)을 생성, 스케줄 및 실행하여 대시보드(dashboard)와 같은 비지니스 인텔리전스 엔드포인트(business intelligence endpoints)에서 공개 또는 사용을 위해 사용할 수 있는 형태로 데이터가 변환된다. 이러한 맥락에서, 작업은 하나 이상의 변환 동작을 포함하는 데이터에 대한 작업 단위이다. 일반적으로 작업은 데이터 개발자, 데이터 설계자, 비지니스 인텔리전스 설계자 등이 직접 코딩한다.
다음은 개시된 주제의 일부 양태의 기본적인 이해를 제공하기 위해 간략화 된 요약을 제공한다. 본 요약은 광범위한 개요가 아니다. 본 요약은 핵심/중요 요소를 식별하거나 청구된 주제의 범위를 기술하기 위한 것도 아니다. 그 유일한 목적은 후에 제시될 상세한 설명의 서론으로서 일부 개념을 단순화된 형태로 제시하는 것이다.
간략하게 설명하면, 본 개시는 데이터 미리보기를 통해 작업을 작성하는 것(job authoring)과 관련된다. 데이터 변환과 관련된 작업과 같은 하나 이상의 작업을 포함하는 워크플로우(workflows)를 도식화하기 위한 상호적(interactive) 시각적 워크스페이스가 제공된다. 워크스페이스 내의 데이터 소스를 선택하면 데이터 소스의 미리보기가 워크스페이스의 컨텍스트 내에 표시될 수 있다. 또한, 하나 이상의 변환 동작의 시각적 표현이 미리보기와 관련하여 제공되어 변환 동작의 그래픽 설명이 가능해진다. 변환 동작이 선택된 후, 미리보기는 그 동작과 그 동작을 구현하도록 생성된 백엔드 코드(backend code)를 반영하도록 업데이트될 수 있다. 동작의 추가 또는 수정을 위한 옵션을 허용하는 백엔드 코드의 뷰가 또한 제공될 수 있다. 동작의 특정이 완료되면 변환 동작이 커밋될(committed) 수 있다. 이어서, 하나 이상의 변환 동작을 포함하는 작업의 표현이 워크스페이스에 자동으로 추가될 수 있다.
전술한 목적 및 관련 목적을 달성하기 위해, 청구된 주제의 특정한 예시적인 양태가 하기의 설명 및 첨부된 도면과 관련하여 본 명세서에 설명된다. 이러한 양태들은 본 발명이 실시될 수 있는 다양한 방법을 나타내며, 이들 모두는 청구된 주제의 범위 내에 있는 것으로 의도된다. 다른 이점 및 신규한 특징이 도면과 함께 고려될 때 하기의 상세한 설명으로부터 명백해질 수 있다.
도 1은 시각적 작성 시스템의 블럭도이다.
도 2는 대표적인 작업 작성 컴포넌트의 블럭도이다.
도 3은 대표적인 미리보기 컴포넌트의 블럭도이다.
도 4는 예시적인 시각적 작성 인터페이스의 스크린샷이다.
도 5는 미리보기 패널을 포함하는 예시적인 시각적 작성 인터페이스의 스크린샷이다.
도 6은 데이터의 그래프 표현을 갖는 미리보기를 포함하는 예시적인 시각적 작성 인터페이스의 스크린샷이다.
도 7은 데이터의 각 열에 대해 삽입된 그래프를 갖는 미리보기를 포함하는 예시적인 시각적 작성 인터페이스의 스크린샷이다.
도 8은 미리보기에 제시된 데이터의 표현을 갖는 동작 매개변수화를 포함하는 예시적인 시각적 작성 인터페이스의 스크린샷이다.
도 9는 업데이트된 미리보기 패널을 포함하는 예시적인 시각적 작성 인터페이스의 스크린샷이다.
도 10은 새로 생성된 작업을 워크스페이스에 추가하는 것을 도시하는 예시적인 시각적 작성 인터페이스의 스크린샷이다.
도 11은 코드 뷰를 포함하는 예시적인 시각적 작성 인터페이스의 스크린샷이다.
도 12는 작업을 작성하기 위해 사용자를 지원하는 방법의 흐름도이다.
도 13은 데이터 미리보기를 생성하는 방법의 흐름도이다.
도 14는 작업 작성을 위한 시각화 방법의 흐름도이다.
도 15는 미리보기에 시각화를 주입하는 방법의 흐름도이다.
도 16은 본 개시의 양태에 적합한 동작 환경을 도시하는 개략적인 블럭도이다.
하기의 상세 내용은 일반적으로 데이터 미리보기를 통한 작업 작성과 관련된다. 데이터 변환과 관련된 작업과 같은 하나 이상의 작업을 포함하는 워크플로우를 다이어그램을 이용해 작성하기 위한 상호적인 시각적 워크스페이스를 포함하는 인터페이스가 제공된다. 워크스페이스에는, 예를 들어, 소스 창(source pane)에서 드래그 앤 드롭된 것과 같은 데이터 소스의 시각적 표현이 포함될 수 있다. 데이터 소스가 선택되면 미리보기가 생성되어 워크스페이스의 컨텍스트 내에서 사용자에게 제시될 수 있다. 미리보기는 적어도 데이터 소스로부터의 데이터의 서브세트를 포함하고, 데이터와 연관된 하나 이상의 그래프를 선택적으로 포함할 수 있다. 이러한 인-시츄(in-situ) 미리보기는 적어도 컨텍스트의 중단없이 데이터를 검사할 수 있기 때문에 작성 프로세스를 신속하게 처리할 수 있다. 또한 하나 이상의 변환 동작의 시각적 표현이 변환의 그래픽을 이용한 설명을 가능하게 하기 위해서 미리보기와 관련하여 제공될 수 있다. 변환 동작을 선택하면 미리보기가 동작의 적용을 반영하도록 업데이트된다. 이러한 방식으로 사용자는 원하는 결과를 얻기 위해 변환 동작을 선택하는 데 점진적으로 도움을 받는다. 변환 동작의 선택은 동작을 구현하는 백엔드 코드의 생성을 트리거링할 수 있다. 또한, 코드 뷰는 코드가 보이도록 할뿐만 아니라 수정될 수 있도록 제공될 수 있다. 사용자가 그래픽을 이용하고/이용하거나 수동으로 변환을 특정하면 동작이 커밋될 수 있다. 이어서, 하나 이상의 변환 동작을 포함하는 작업의 표현이 시각적 워크스페이스에 자동으로 추가될 수 있다.
본 개시의 다양한 양태가 첨부된 도면을 참조하여 더욱 상세하게 설명되며, 여기서 동일한 도면 부호는 일반적으로 동일하거나 대응하는 요소를 지칭한다. 그러나, 도면 및 그와 관련된 상세한 설명은 청구된 주제를 개시된 특정 형태로 제한하려는 것이 아니라는 것을 이해해야 한다. 오히려, 청구된 주제의 사상 및 범위 내에있는 모든 수정, 등가물 및 대안을 포함하도록 의도된다.
먼저 도 1을 참조하면, 시각적 작성 시스템(100)이 도시된다. 시각적 작성 시스템(100)은 워크스페이스 컴포넌트(110), 소스 컴포넌트(120), 타겟 컴포넌트(130) 및 작업 작성 컴포넌트(140)를 포함한다. 워크스페이스 컴포넌트(110)는 상호적인(interactive) 시각적 워크스페이스 또는 캔버스를 제공함으로써, 작업(예를 들어, 데이터를 수정하는 하나 이상의 연속적인 동작 또는 단계) 및 작업 파이프라인(예를 들어, 입력 데이터 세트, 작업 및 출력 데이터 세트)의 다이어그램을 이용한 작성을 가능하게 한다. 예를 들어, 데이터 소스 또는, 다른 말로, 데이터 세트가 실린더로 표현되고 수정된 데이터 소스를 생성하는 작업에 화살표로 연결될 수 있다. 기본적으로 사용자는 데이터 소스와 작업 간의 관계에 대한 다이어그램을 그릴 수 있다. 이는 관계를 이해하고 궁극적으로 작업을 특정하는 것과 관련하여 시간을 절약할 수 있는 매우 직관적인 경험이 된다.
소스 컴포넌트(120)는 작업 작성을 위해 이용가능한 데이터 소스의 시각적 표현을 생성하도록 구성된다. 실질적으로 임의의 포맷(예를 들어, 테이블, 파일, 스트림...) 또는 구조(예를 들어, 구조화된, 비구조화된, 반(semi)구조화된)의 온프레미스(on-premises) 데이터 소스 및 클라우드 기반 데이터 소스를 포함하는 소스 컴포넌트(120)에 의해 임의의 데이터 소스가 획득되고 이용 가능해질 수 있다. 다시 말해, 소스 컴포넌트(120)는 이종(heterogeneous) 데이터 소스를 노출하도록 구성된다. 데이터 소스는 소스 컴포넌트(120)에 의해 제공되는 검색 및 임포트(import) 기능에 의해 이용가능하게 될 수 있다. 또한, 소스 컴포넌트(120)는 사용자 또는 엔티티 계정 등을 모니터링하고 액세스 가능한 데이터 소스를 자동으로 이용 가능하게 하도록 구성될 수 있다. 소스 컴포넌트(120)에 의해 렌더링 된 데이터 소스는 상호적이고 하나 이상의 작업에 대한 입력으로서 사용될 수 있다. 예를 들어, 드래그 앤 드롭(drag-and-drop)과 같은 제스처를 사용하여 소스 영역의 데이터 소스를 워크스페이스(workspace)에 추가할 수 있다.
타겟 컴포넌트(130)는 모든 변환이 적용된 후에 최종 데이터 소스 또는 데이터 세트를 디스플레이하는 시각적 위치를 제공하도록 구성된다. 이러한 데이터 소스는 이후 분석 애플리케이션과 같은 애플리케이션에 의해 공개되거나 사용될 수 있다. 작업 또는 일련의 작업 결과를 워크스페이스로부터 드래그(drag)하여 타겟 시각화 영역에 드랍(drop)할 수 있다.
작업 작성 컴포넌트(140)는 하나 이상의 변환 동작을 포함하는 작업의 시각적 작성을 가능하게 하도록 구성된다. 특히, 작성 컴포넌트(140)는 적어도 소스 컴포넌트(120) 및 워크스페이스 컴포넌트(110)와 상호동작하여 이용가능한 데이터 소스로부터의 워크스페이스의 다이어그램과 함께 작업 구성을 용이하게 할 수 있다.
도 2는 대표적인 작업 작성 컴포넌트(140)를 더 상세하게 도시한다. 도시된 바와 같이, 작업 작성 컴포넌트(140)는 미리보기 컴포넌트(210)를 포함한다. 미리보기 컴포넌트(210)는 다른 것들 중에서도 데이터 미리보기를 제공하는 윈도우 패널 또는 창(pane)과 같은 인터페이스의 미리보기 부분을 생성하도록 구성된다. 특히, 일부 제스처 또는 다른 지시(예를 들어, 터치, 클릭, 포인트, 호버(hover), 음성 명령...)에 의해 워크스페이스에서 데이터 소스를 선택하면, 데이터 미리보기 인터페이스 부분이 워크스페이스와 함께 제시될 수 있다. 즉, 데이터 미리보기 부분은, 예를 들어, 상이한 윈도우 또는 인터페이스 내의 워크스페이스의 컨텍스트의 외부가 아니라 워크스페이스의 컨텍스트의 내부 또는 인-시츄(in-situ)에 제시된다. 일 실시예에 따르면, 미리보기 부분은 한 번의 클릭과 같은 단일 제스처 또는 복수의 제스처에 의해 디스플레이될 수 있으나, 이에 제한되지 않는다. 적어도 데이터 소스 데이터의 서브 세트에 기초한 시각화를 제공하는 것에 더하여, 미리보기 컴포넌트(210)는 데이터 소스에 대한 하나 이상의 변환 동작을 선택할 수 있는 기능 및 시각화를 제공한다. 이는 복수의 변환 작업을 포함하는 전체 파이프라인을 구축할 필요없이 환경을 테스트함으로써 신속한 샌드박스(sandbox) 및 실험을 가능하게 한다.
도 3을 간단히 참조하면, 대표적인 미리보기 컴포넌트(210)가 더욱 상세히 도시된다. 특히, 미리보기 컴포넌트(210)는 쿼리 컴포넌트(310)를 포함한다. 쿼리 컴포넌트(310)는 쿼리를 생성하고, 쿼리 실행을 개시하고, 결과를 수신하도록 구성된다. 생성된 쿼리는 선택된 데이터 소스를 통해 특정되며 데이터 소스로부터의 적어도 데이터의 서브세트를 반환한다. 예를 들어, 표 소스(tabular source)에서 처음 100 개의 데이터 행(row)을 반환하는 쿼리가 생성될 수 있다. 물론 쿼리는 표 소스에만 국한되지 않고 실질적으로 모든 데이터 소스에 적용될 수 있다. 또한, 행의 개수가 달라지거나, 복수의 열(column)을 반환하는 것, 데이터의 무작위 또는 의사 무작위(pseudorandom) 샘플을 반환하는 것, 또는 최초 세그먼트, 중간 세그먼트 및 최종 세그먼트와 같은 복수의 세그먼트 또는 클러스터의 데이터를 반환하는 것 등의 다른 방법이 채택될 수 있다.
뷰 생성 컴포넌트(320)는 쿼리 컴포넌트(310)에 의해 획득된 데이터의 뷰(view)를 생성한다. 일 양태에 따르면, 뷰 생성 컴포넌트(320)는 행과 열을 포함하는 표 형태와 같은 일부 형태로 데이터를 간단히 제시할 수 있다. 부가적으로 또는 대안적으로, 뷰 생성 컴포넌트(320)는 데이터의 상이한 뷰 또는 시각화를 생성할 수 있다. 예시로서, 뷰 생성 컴포넌트(320)는 원형 그래프, 바 그룹, 라인 그래프 또는 히스토그램과 같은 데이터에 기초한 그래프를 생성하도록 구성될 수 있다. 또한, 뷰 생성 컴포넌트(320)는 데이터에 기초하여 뷰를 생성할 수 있다. 예를 들어, 데이터가 위도 및 경도를 포함하면, 뷰 생성 컴포넌트(320)는 지도를 생성할 수 있다. 다른 예시로서, 데이터가 시간을 포함하면, 타임라인 표현이 생성될 수 있다. 선택된 뷰는 데이터뿐만 아니라 사용자 선택 및 설정/선호도에 기초할 수 있다.
컨텍스트 분석기 컴포넌트(330)는 이용 가능한 컨텍스트 정보를 분석하여 유용한 쿼리 및 결과적인 미리보기의 생성을 가능하게 하기 위한 제안을 쿼리 컴포넌트(310)에게 제공하도록 구성된다. 일 실시예에 따르면, 쿼리 컴포넌트(310)는, 예를 들어, 제한된 수의 데이터 행을 디폴트로 생성할 수 있다. 그러나 이것은 최적의 것이 아닐 수도 있다. 예를 들어, 알파벳순으로 정렬된 데이터 세트를 고려해보자. 디폴트 수의 결과를 생성하면 문자 "A"로 시작하는 데이터만 나타나고 데이터 전체를 나타내지 못할 수 있다. 이러한 문제가, 예를 들어, 데이터 소스 메타데이터(metadata) 또는 데이터와의 이전 상호동작에 기초하여 결정되거나 추론될 수 있다면, 다른 것들 중에서 컨텍스트 분석기 컴포넌트(330)가 쿼리 컴포넌트(310)로 하여금 더 많은 데이터, 무작위 또는 의사 무작위 샘플링 데이터 또는 (예컨대, 탑, 미들, 바텀) 세그먼트로의 데이터 분할을 획득하는 쿼리를 생성하도록 지시하거나 제안할 수 있다. 유사하게, 컨텍스트 분석기 컴포넌트(330)가 데이터, 설정 또는 선호도, 또는 상호동작 이력에 기초하여 데이터를 그래픽으로 제시할 것이라고 결정 또는 추론할 수 있다면, 무작위 또는 의사 무작위 샘플링을 생성하는 것이 제안될 수 있다.
통계 컴포넌트(340)는 전체 데이터 세트 또는 그 일부에 관한 기술 통계(descriptive statistics)의 세트를 결정하도록 구성된다. 예를 들어, 통계 컴포넌트(340)는 카운트(예컨대, 모든 행의 카운트, 고유값의 카운트, 누락된 값의 카운트), 범위(예컨대, 최소, 최대, 범위) 및 통계 요약(예컨대, 평균값, 중앙값, 최빈값(mode), 분산, 표준 편차 등)과 같은 측정치를 계산하도록 구성된다. 이러한 측정치는 뷰 생성 컴포넌트(320)에 제공될 수 있으며, 뷰 생성 컴포넌트(320)는 이러한 측정치를 다양한 방식으로 시각화할 수 있다. 이를 통해 사용자는 자신이 작업하고 있는 데이터에 대한 간략한 개요를 제공받을 수 있다. 예를 들어, 관련 통계는 데이터 미리보기 내의 각 데이터 열에 대해 제시될 수 있다. 예를 들어, 제품 열에 있는 개별 제품의 그래프를 표시하여 열에 있는 데이터의 분배에 대한 사용자 인사이트를 제공할 수 있다. 다른 예시로서, 측정치는 시간에 따른 판매량 및 상이한 유형의 제품을 캡처하는 그래프를 생성하는 데 이용될 수 있다. 또한, 통계 컴포넌트(340)는 외부 컴포넌트를 포함하거나 채택하여, 데이터와 관련하여 머신 학습 기술을 적용해 사용자에게 제시할 가장 적절한 데이터를 어떤 형태(예컨대, 막대 그래프, 원형 차트, 텍스트...)로 제시할 것인지 결정한다.
변환 컴포넌트(350)는 정렬, 그룹, 분할 및 피벗(pivot)과 같은 하나 이상의 변환 연산자의 선택 가능한 시각적 표현을 제공하도록 구성되지만 이에 제한되지 않는다. 필요한 경우, 변환 동작은, 예를 들어, 팝업 상자에 매개 변수를 수동으로 입력하여 직접적으로 매개변수화(parameterized) 되거나, 미리보기의 데이터와 관련한 매개변수를 특정하여 간접적으로 매개변수화될 수 있다. 예를 들어, "그룹화" 동작은 열의 이름과 같은 매개 변수의 특정이 필요하다. 해당 열의 이름을 직접 특정하거나 미리보기 데이터에서 선택할 수 있다. 또한, 하나 이상의 변환 동작의 표현은 미리보기 데이터 또는 이에 기초한 시각화와 함께 또는 그에 맞게 예를 들어, 메뉴 또는 리본으로 제공될 수 있다. 변환 동작이 대응하는 시각적 표현(예를 들어, 터치, 클릭...)을 선택함으로써 식별된 후, 변환 컴포넌트(350)는 선택된 동작의 적용을 반영하는 쿼리 컴포넌트(310)에 의한 새로운 쿼리의 생성을 개시할 수 있다. 결과적으로 선택된 동작의 적용으로 인해 데이터가 어떻게 영향을 받는지 보여주는 업데이트된 데이터 미리보기가 제시된다. 복수의 동작이 선택되어 미리보기를 업데이트할 수 있다. 이러한 방식으로 사용자는 원하는 결과를 얻기 위해 변환 동작을 선택하는 데 점진적으로 도움을 받는다.
적용된 동작 컴포넌트(360)는 선택된 변환 동작을 추적하고 디스플레이하도록 구성된다. 선택된 각 작업은 기록된다. 이어서 일련의 변환 동작이 시각적으로 제시될 수 있다. 결과적으로 사용자는 선택된 동작에 관해 정보를 얻는다. 일 양태에 따르면, 변환 연산자는 선택 가능하며, 사용자가 동작을 제거하거나 동작을 재정렬할 수 있게 한다.
메타데이터 컴포넌트(370)는 데이터 소스에 관한 메타데이터를 획득하고 메타데이터를 디스플레이하도록 구성된다. 예를 들어, 메타데이터는 표 형태의 뷰(tabular view)와 관련한 열의 개수와 열의 이름을 포함할 수 있다. 아울러, 메타데이터 컴포넌트(370)는 데이터 미리보기에서 제공되거나 사용된 데이터와 전체 데이터 소스 간의 차이를 표시하도록 구성될 수 있다. 예를 들어, 메타데이터 컴포넌트는 데이터 소스의 열 또는 행의 전체 개수에 대한 디스플레이된 열 또는 행의 개수를 디스플레이할 수 있다. 또한, 메타데이터 컴포넌트(370)는 변환된 출력과 연관된 사용자로부터 메타데이터를 받아들이기 위한 텍스트 박스 등을 제공할 수 있다. 이러한 메타데이터는 이후에 적어도 데이터 검색과 관련하여 사용될 수 있다.
도 2를 다시 참조하면, 작업 작성 컴포넌트(140)는 또한 코드 생성 컴포넌트(220)를 포함한다. 코드 생성 컴포넌트는, 예를 들어, 선택된 변환 동작을 구현하는 스크립트 프로그래밍 언어(예컨대, M-Script)로 백엔드 코드(backend code)를 생성할 수 있다. 일 실시예에 따라, 코드 생성 컴포넌트(220)는 백엔드 코드가 최신이되도록(up to date) 변환 동작의 선택시 코드를 점진적으로 수정할 수 있다. 물론 코드 생성은 사용자가 변환을 특정하는 것을 완료할 때까지 연기될 수 있다.
코드 뷰 컴포넌트(240)는 변환 동작을 구현하는 코드의 뷰를 제시하도록 구성된다. 코드 뷰 컴포넌트(240)는 또한 사용자가 변환을 구현하는 코드를 직접 추가, 삭제 또는 수정할 수 있게 한다. 따라서, 코드 뷰는 코드 편집기로서 실시될 수 있다. 일 실시예에 따라, 코드에 직접 행해진 변경이 미리보기에도 역시 반영될 수 있다. 예를 들어, 변환을 수동으로 작성하는 경우, 미리보기 컴포넌트(210)는 변환을 포함하는 미리보기를 제시할 수 있다. 마찬가지로, 변환 작업의 그래픽 표현을 기반으로 생성된 코드를 코드 뷰에서 사용할 수 있다. 따라서 사용자는 코드 뷰를 통해 직접적으로 또는 그래픽 인터페이스를 통해 간접적으로 변환 코드를 작성할 수 있다. 또한 사용자는 두 가지 작성 환경 사이에서 전환할 수 있다.
워크스페이스 업데이트 컴포넌트(250)는 데이터 소스와 연관된 변환 동작에 기초하여 워크스페이스를 업데이트하도록 구성된다. 작성이 완료되고 변환 동작 세트가 저장되거나 커밋(commit)됨이 표시되면, 워크스페이스는 업데이트될 수 있다. 구체적으로, 하나 이상의 특정된 변환 동작을 포함하는 작업의 표현이 워크스페이스에 자동으로 추가될 수 있다. 또한, 변환 동작이 실행될 데이터 소스는 작업 표현과 시각적으로 링크된다. 또한, 변환된 출력의 표현은 작업 표현에 링크될 수 있다. 결과적으로, 데이터 소스로부터의 입력을 수신하는 작업과 그 작업에 의해 제공되는 하나 이상의 변환 동작의 적용을 반영하는 새로운 데이터 소스를 출력하는 작업이 다이어그램으로서 디스플레이된다.
도 4 내지 도 11은 시각적 작성 시스템(100)과 연관된 다양한 시각화 양태를 도시하는 예시적인 스크린샷(screenshots)이다. 이 스크린샷은 본 개시의 양상에 대한 명확성 및 이해를 돕기 위한 것일 뿐, 청구된 주제를 제한하기 위한 것은 아니다. 제공된 스크린샷은 단지 하나의 구현예를 도시하는 것임이 이해될 것이다. 그래픽 요소 및 텍스트의 다양한 다른 조합 및 배열이 첨부된 청구항의 범위 내에 포함되도록 고려되고 의도된다.
도 4는 시각적 작성 시스템(100)에 의해 생성될 수 있는 시각적 작성 인터페이스(400)의 스크린샷이다. 도시된 바와 같이, 인터페이스는 3 개의 패널, 즉, 소스 패널(410), 워크스페이스 패널(420) 및 공개 패널(430)을 포함한다. 소스 패널(410)은 복수의 이용가능한 데이터 소스(412)를 제시하고, 소스들이 데이터 소스(412)에 추가되거나 삭제되게 한다. 소스 패널(410)에 도시된 데이터 소스(412)는 임의의 데이터 소스일 수 있다는 것이 이해되어야 한다. 예를 들어, 일부 데이터 소스(412)는 온프레미스 데이터와 연관될 수 있으며, 다른 데이터 소스는 네트워크 또는 클라우드 데이터 스토어와 연관될 수 있다. 또한, 데이터 소스(412)는 실질적으로 임의의 구조 또는 형태일 수 있다. 워크스페이스 패널(420)은 데이터 소스 및 작업의 상호적인 다이어그램 뷰를 제공한다. 도시된 바와 같이, 중복을 제거하는 것과 같은 작업이 제 1 큐브(422)로서 표현된다. 제 1 큐브(422)는 제 1 실린더(424)로서 표현된 소스에 연결된다. 일 실시예에 따르면, 소스 표현은 소스 패널(410)으로부터 드래그 앤 드롭될 수 있다. 화살표를 갖는 선이 제 1 실린더(424)를 큐브에 연결하여 소스에서 작업으로 좌측에서 우측으로의 데이터의 흐름을 나타낸다. 또한, 작업의 출력은 제 2 실린더(426)로서 표현되고, 제 2 실린더가 작업의 출력을 나타냄을 도시하는 제 1 큐브(422)로부터 제 2 실린더(426) 로의 선 및 화살표와 연결된다. 공개 패널(430)은 모든 원하는 변환이 수행된 후에 공개된 또는 소비 가능한 데이터 소스의 시각적 표현을 제공한다. 워크스페이스 패널(420)에서 제 2 실린더(426)가 선택되면, 도 5의 스크린샷이 발생할 수 있다.
도 5는 시각적 작성 시스템(100)에 의해 생성될 수 있는 시각적 작성 인터페이스(500)의 스크린샷이다. 시각적 작성 인터페이스(500)는 전술한 바와 같은 소스 패널(410) 및 워크스페이스 패널(420)을 포함한다는 점에서 시각적 작성 인터페이스(400)와 유사하다. 여기서, 제 2 실린더(426) 상에, 예를 들어, 포인터를 위치시키고 클릭하는 것에 의한 선택을 나타내기 위해 제 2 실린더(426)에 의해 표현되는 소스가 하이라이트된다(highlighted). 데이터 소스가 선택되면 미리보기 패널(510)이 워크스페이스 패널(420)과 나란히 제시된다. 미리보기 패널(510)의 제 1 부분(520)에서, 데이터의 적어도 하나의 서브 세트가 여기서는 표의 형태로 제시된다. 이를 통해 선택한 데이터 소스에 포함된 데이터와 변경의 영향에 대한 일반적인 개념이 사용자에게 제공된다. 미리보기 패널(510)의 제 2 부분(530)은 일련의 변환 동작의 세트의 그래픽 표현을 포함하는 툴바 또는 리본이다. 선택시, 변환 동작을 위한 코드가 자동으로 생성될 수 있고, 제 1 부분(520)은 동작의 적용을 반영하도록 업데이트될 수 있다. 미리보기 패널(510)의 제 3 부분(540)은 소스에 관한 메타데이터를 디스플레이한다. 예를 들어, 데이터 소스의 이름과 데이터 소스를 구성하는 행 및 열 개수를 제시할 수 있다. 또한, 제 1 부분(520)에 제공된 데이터와 전체 데이터 소스 사이의 차이가 디스플레이될 수 있다. 예를 들어, 데이터 미리보기가 총 12,000 개의 행 중 100 개의 행 또는 100 개의 열 중 7 개의 열을 제시하는 것을 나타내는 표시가 제공될 수 있다. 또한 사용자는 텍스트 상자에 설명과 같은 추가적인 메타데이터를 입력할 수 있다. 미리보기 패널(510)의 제 4 부분(550)은 적용될 수 있는 변환 동작의 시각적 표현을 제시한다. 이러한 변환 동작에는 오류 제거, 대체 행 제거, 정렬 그룹화, 피벗 및 값 바꾸기 등이 포함될 수 있다.
도 6은 시각적 작성 시스템(100)에 의해 생성될 수 있는 시각적 작성 인터페이스(600)의 스크린샷이다. 도 5에 도시된 인터페이스(500)와 마찬가지로, 인터페이스(600)는 소스 패널(410), 선택을 표시하기 위해 하이라이트된 데이터 소스의 표현을 갖는 워크스페이스 패널(420) 및 선택된 데이터 소스로부터 적어도 하나의 데이터 서브세트를 디스플레이하는 제 1 부분(520)과 변환 동작의 세트의 표현을 제시하는 제 2 부분(530)을 포함하는 미리보기 패널(510)을 포함한다. 여기서, 제 3 부분(610)에서, 데이터 소스에 관한 그래픽 시각화가 제공된다. 일 양태에 따르면, 이러한 인터페이스는 미리보기 패널(510)에 제공된 특정 탭의 선택시에 디스플레이될 수 있다. 시각화를 생성하기 위해 채택된 데이터는 연관된 메타데이터를 포함하는 데이터 소스 그 자체로부터 획득될 수 있을 뿐만 아니라, 다른 소스 중에서 결정된 통계 측정치로부터 획득될 수도 있다. 여기서, 히스토그램(612)은 판매 된 비디오 게임과 같은 제품의 사본 수 및 그 유형 또는 장르의 표현을 제공한다. 링 그래프(614)는 비디오 게임의 유형 또는 장르에 의해 분류된 복수의 비디오 게임 세션을 식별한다. 이러한 시각화는 제 1 부분(520)에 디스플레이된 데이터 소스로부터 실제 데이터를 보완하기 위해 데이터의 성질 및 분포에 대한 간략한 개요를 제공한다.
도 7은 시각적 작성 시스템(100)에 의해 생성될 수 있는 시각적 작성 인터페이스(700)의 스크린샷이다. 도 5의 인터페이스(500)와 마찬가지로 인터페이스(700)는 소스 패널(410), 데이터 소스의 선택된 표현을 포함하는 워크스페이스 패널(420), 미리보기 패널(510) 및 선택된 데이터 소스의 적어도 하나의 데이터 서브세트를 나타내는 제 1 부분(520)을 포함한다. 또한, 인터페이스(700)는 데이터의 각 열과 연관된 막대 그래프 시각화(710)를 포함한다. 일 예시에서, 이러한 그래프를 채우기 위해 통계적 측정치가 이용될 수 있다. 여기에서, 열 이름으로 시작하는 각 열에 대해 행이 생성되고, 관련 통계가 열에 대해 계산되어 그래픽으로 시각화된다. 이러한 시각화를 통해 사용자는 각 열의 데이터를 신속하게 파악할 수 있다.
도 8은 시각적 작성 시스템(100)에 의해 생성될 수 있는 시각적 작성 인터페이스(800)를 도시하는 스크린샷이다. 여기에서, 인터페이스(800)는 도 5의 인터페이스(500)와 실질적으로 동일하다. 특히, 인터페이스는 소스 패널 (410), 워크스페이스 패널(420) 및 워크스페이스 패널(420)의 선택된 데이터 소스와 연관된 미리보기 패널 (510)을 도시한다. 일 양태에 따르면, 변환 동작은 제 2 부분(530)의 툴바로부터 동작의 표현을 선택함으로써 시각적으로 특정될 수 있다. 아울러, 연산자 매개변수가 미리보기 패널(510)의 제 1 부분(520)에 제시된 데이터를 선택함으로써 시각적으로 특정될 수 있다. 참조 번호(810)는 동작을 매개변수화하는 데이터 열의 선택을 나타낸다. 예를 들어, "그룹화" 동작을 고려해보자. "그룹화"동작은 일반적으로 열 이름 매개변수가 필요하다. 제 2 부분(530)으로부터 "그룹화" 동작의 표현을 선택하면, 사용자는 제 3 열을 선택하여 동작을 매개변수화할 수 있다. 물론, 다른 상호동작이 실질적으로 동일한 결과를 생성할 수 있다. 예를 들어, "그룹화" 동작은 코드에서 직접적으로 특정될 수 있으며, 팝업 상자가 매개변수를 얻기 위해 제시될 수 있다.
도 9는 변환 동작의 선택 및 매개변수화 시에 생성되는 시각적 작성 인터페이스(900)를 도시한다. 특히, 인터페이스(900)는 도 8과 관련하여 전술한 바와 같이, "그룹화" 동작의 그래픽 표현 및 매개변수화 결과를 도시한다. 도시된 바와 같이, 미리보기 패널(510)의 제 1 부분(520)은 여기서는 장르인 그룹화 동작의 매개변수에 따라 그룹화된 데이터를 포함하도록 업데이트된다. 미리보기 패널의 제 4 부분(550)은 또한 동작에 의한 그룹의 선택을 반영하도록 업데이트된다. 제 3 부분(540)은 또한 변환된 데이터 소스를 반영하는 메타데이터를 디스플레이하도록 변경될 수 있다. 사용자는 필요한만큼 데이터 변환 작업을 선택하여 데이터 소스를 원하는 형태로 변환할 수 있다. 일단 변경이 완료되면, 예를 들어, 기능과 연관된 시각적 표현(910)을 선택함으로써 적용, 저장 또는 커밋될 수 있다.
도 10은 변경의 커밋 시에 디스플레이될 수 있는 시각적 작성 인터페이스(1000)의 스크린샷이다. 시각적 작성 인터페이스(1000)는 전술한 바와 같은 소스 패널(410), 워크스페이스 패널(420) 및 공개 패널(430)을 포함한다. 워크스페이스 패널(420)은 새로운 작업을 포함하도록 업데이트된다. 여기서, 하나 이상의 데이터 변환 동작을 포함하는 새로운 작업은 제 2 실린더(426)에 의해 표현된 소스 데이터 구조로부터 제 2 큐브(1010)로 화살표로 연결된 제 2 큐브(1010)로 표현된다. 또한, 작업을 나타내는 제 2 큐브(1010)는 작업에 의해 생성된 새로운 데이터 소스를 나타내는 제 3 실린더(1020)에 화살표로 연결된다.
도 11은 도 10의 시각적 작성 인터페이스(1000)에 대해 제 2 큐브(1010)에 의해 표현된 작업을 선택한 데 따른 결과인 시각적 작성 인터페이스(1100)의 스크린샷이다. 시각적 작성 인터페이스(1000)와 유사하게, 시각적 작성 인터페이스(1100)는 데이터 소스의 하나 이상의 표현을 포함하는 소스 패널 및 도표로써 제시된 작업의 파이프라인을 포함하는 워크스페이스 패널(420)을 포함한다. 제 2 큐브(1010)에 의해 표현된 작업은 선택을 나타내기 위해 하이라이트된다. 선택 후에, 코드 뷰 패널(1110)이 제시된다. 코드 뷰 패널(1110)은 하나 이상의 변환 동작을 포함하는 작업과 관련된 컴퓨터 프로그래밍 언어 코드(1120)를 제시한다. 여기서, 코드(1120)는 문서 편집기 환경에서 "그룹화" 동작을 포함하며, 이러한 동작은 미리보기 패널(510) 내에서 그래픽으로 미리 특정된다. 코드(1120)는 변환 동작을 추가, 제거 또는 변경함으로써 라인 내에서 수정될 수 있다. 수정된 코드는 저장될 수 있고, 제 2 큐브(1010)에 의해 표현된 작업은 변경을 포함하도록 업데이트될 수 있다. 작업을 작성할 때, 사용자는 코드 뷰 패널(1110) 내에서 작업을 수동으로 코딩하거나 미리보기 패널(510) 내에서 그래픽으로 특정할 수있다. 또한, 사용자는 수동 코드 및 그래픽 표현 모두를 채용하여 작업을 작성할 수 있다.
전술한 시스템, 아키텍처, 환경 등은 여러 컴포넌트 간의 상호동작과 관련하여 설명되었다. 그러한 시스템 및 컴포넌트는 본 명세서에 특정된 컴포넌트 또는 서브 컴포넌트(subcomponents), 특정된 컴포넌트 또는 서브 컴포넌트 중 일부 및/또는 추가 컴포넌트를 포함할 수 있음을 이해해야 한다. 서브 컴포넌트는 상위(parent) 컴포넌트에 포함되지 않고 다른 컴포넌트에 통신 가능하게 결합된 컴포넌트로 구현될 수도 있다. 더욱이, 하나 이상의 컴포넌트 및/또는 서브 컴포넌트는 단일 컴포넌트로 결합되어 집합 기능(aggregate functionality)을 제공할 수 있다. 시스템, 컴포넌트 및/또는 서브 컴포넌트 간의 통신은 푸시(push) 및/또는 풀(pull) 모델에 따라 수행될 수 있다. 컴포넌트는 또한 간결성을 위해 본 명세서에 구체적으로 기술되지는 않았지만 당업자에게 널리 알려진 하나 이상의 다른 컴포넌트와 상호동작할 수 있다.
또한, 상기 개시된 시스템 및 하기의 방법의 다양한 부분은 인공 지능, 기계 학습, 또는 지식 또는 규칙 기반 컴포넌트, 서브 컴포넌트, 프로세스, 수단, 방법론 또는 메커니즘(예를 들어, 지원 벡터 머신, 신경 네트워크, 전문가 시스템(expert systems), 베이즈 신념 네트워크(Bayesian belief networks), 퍼지 로직, 데이터 융합 엔진, 분류기(classifiers)...)을 포함하거나 채택할 수 있다. 그러한 컴포넌트는 특히, 시스템 및 방법의 일부를 더욱 효율적이고 지능적일 뿐만 아니라보다 적응력있게 만들기 위해 수행되는 특정 메커니즘 또는 프로세스를 자동화할 수 있다. 예를 들어, 컨텍스트 분석기 컴포넌트(330) 및 뷰 생성 컴포넌트(320)는 그러한 메커니즘을 이용하여 쿼리 생성에 사용하기 위한 컨텍스트 정보 및 데이터에 기초한 적절한 뷰를 결정하거나 추론할 수 있으나 이에 제한되지 않는다.
전술한 예시적인 시스템의 관점에서, 개시된 주제에 따라 구현될 수 있는 방법은 도 12 내지 도 15의 흐름도를 참조하여 더 잘 이해될 것이다. 설명의 간략 성을 위해, 방법이 일련의 블록으로 도시되고 설명되었지만, 블록이 본 명세서에 도시되고 기술된 것과 상이한 순서로 발생하고/발생하거나 다른 블록과 동시에 발생할 수 있으므로, 청구된 요지는 블록의 순서에 의해 제한되지 않는다는 것을 이해하고 인식해야 한다. 또한, 이하에 설명되는 방법을 구현하기 위해 모든 도시 된 블록이 요구되는 것은 아니다.
도 12를 참조하면, 사용자가 작업을 작성하는 것을 돕는 방법(1200)이 도시된다. 참조 번호(1210)에서, 선택된 데이터 소스로부터 데이터가 수신된다. 이에 제한되는 것은 아니지만, 도표화된 워크스페이스 상에 존재하는 데이터 소스로부터 데이터 소스가 선택될 수 있다. 또한, 데이터는 선택된 데이터 소스에 대해 생성 된 쿼리를 처리하는 것에 응답하여 수신될 수 있다.
참조 번호(1220)에서, 적어도 데이터 소스 데이터의 서브 세트에 기초하여 미리보기가 생성된다. 일 실시예에 따르면, 미리보기는 수신된 데이터로 채워질 수 있다. 예를 들어, 미리보기는 수신된 데이터를 표 형태로 디스플레이할 수 있다. 다른 실시예에 따라, 미리보기는 수신된 데이터로 생성된 그래프(예를 들어, 파이 그래프, 막대 그래프, 히스토그램...) 또는 다른 시각화(예를 들어, 타임 라인, 지도...)에 대응하거나 포함할 수 있다. 또한 사용자는 사용 가능한 양식에서 미리보기의 양식을 선택할 수 있다.
참조 번호(1230)에서, 변환 동작이 수신된다. 변환 동작은 그래픽 선택 및 특정에 기초하여 수신될 수 있다. 변환 동작은 코드의 수동 작성 또는 수동 및 그래픽 조합에 기초하여 수신될 수 있다. 코드가 그래픽으로 작성되는 경우에, 참조번호(1240)에서, 변환 동작에 영향을 주는 대응하는 코드가 생성된다. 참조 번호(1250)에서, 미리보기는 변환 동작의 적용을 반영하도록 업데이트된다. 참조 번호(1260)에서, 더 이상의 변환 동작이 수신되지 않도록 작성이 완료되었는지 여부에 대한 결정이 이루어진다. 저작이 완료되지 않은 경우("아니오"), 방법은 다른 변환 동작이 수신되는 참조 번호(1230)로 다시 진행한다. 대안적으로, 예를 들어, 명시적인 표시에 기초하여 작성이 완료되면("예"), 방법은 참조 번호(1270)로 계속된다. 1270에서, 생성되고 수동으로 작성된 코드가 저장된다. 다음으로, 참조 번호(1280)에서, 워크스페이스는 하나 이상의 변환 동작을 포함하는 작업을 포함하도록 업데이트된다. 예를 들어, 입력 데이터 소스의 표현은 작업 표시에 연결되고, 작업 표시는 출력 데이터 소스에 연결된다.
도 13은 데이터 미리보기를 생성하는 방법(1300)을 도시한다. 참조 번호(1310)에서, 데이터 소스와 연관된 컨텍스트가 결정된다. 특히, 데이터 소스의 특성은 데이터 소스 메타데이터, 데이터 소스 데이터 및/또는 데이터 소스와의 이전 상호동작에 기초하여 결정되거나 추론된다. 예를 들어, 행이나 열의 개수를 포함한 데이터 소스의 크기와 사용자가 이전에 데이터 소스와 상호동작한 방법에 대해 아는 것이 유리할 수 있다. 참조 번호(1320)에서, 데이터 소스에 대한 쿼리가 생성된다. 쿼리 생성은 임의의 결정된 컨텍스트 정보를 고려할 수 있다. 예를 들어, 쿼리 생성은 디폴트로 데이터의 처음 100 행을 요청할 수 있다. 그러나 컨텍스트 정보에 기초하여 디폴트를 재정의할 수 있다. 예를 들어, 알파벳 순으로 정렬된 큰 데이터 소스의 경우 데이터를 무작위 또는 의사 무작위로 샘플링하거나 상위 50 개 행, 중간 50 개 행 및 하위 50 개 행을 획득하는 쿼리를 생성하는 것일 수 있다. 유사하게, 미리보기가 그래프화될 것으로 알려지거나 결정되거나 추론 될 수 있는 경우, 처음 100 개의 행을 반환하는 대신 추가 정보를 얻거나 샘플링을 수행하는 것이 최선일 수 있다. 참조 번호(1330)에서, 쿼리는 로컬 또는 원격 프로세서에 제출되고 결과가 수신된다. 참조 번호(1340)에서, 미리보기에 대한 시각화가 선택된다. 예를 들어, 시각화는 데이터 표, 데이터 그래프, 데이터 타임 라인 또는 데이터를 포함하는 지도 등일 수 있다. 사용자 선택, 선호도/설정 및/또는 데이터에 기초하여 선택이 이루어질 수 있다. 예를 들어, 경도와 위도가 포함된 데이터를 지도에 표시하고 시간에 따른 데이터를 타임 라인에 표시할 수 있다. 참조 번호(1350)에서, 데이터는 선택된 시각화로 렌더링된다.
도 14는 작업 작성을 위한 시각화 방법(1400)의 흐름도이다. 참조 번호(1410)에서, 변환 워크플로우를 작성하기 위한 워크스페이스가 렌더링된다. 참조 번호(1420)에서, 다이어그램이 소스 및 작업을 포함하는 워크스페이스 상에서 렌더링된다. 참조 번호(1430)에서, 미리보기는 워크스페이스의 컨텍스트 내에서 데이터 소스가 선택될 때 렌더링된다. 다시 말해, 미리보기는 워크스페이스 외부의 별도 창이 아니라 워크스페이스에서 인-시츄로 렌더링된다. 참조 번호(1440)에서, 하나 이상의 변환 동작의 표현이 미리보기의 컨텍스트 내에서 렌더링된다. 예를 들어, 시각화는 워크스페이스 패널과 미리보기 패널을 포함할 수 있으며, 미리보기 패널은 제 1 부분의 데이터 소스의 미리보기 및 제 2 부분의 변환 동작의 표현을 포함한다. 참조 번호(1450)에서, 업데이트된 미리보기가 하나 이상의 변환 동작의 선택 시 렌더링된다. 예를 들어, 미리보기는 선택된 동작을 반영하도록 업데이트될 수 있다. 참조 번호(1460)에서, 워크스페이스 다이어그램이 하나 이상의 선택된 변환 동작을 포함하는 작업을 포함하도록 업데이트된다.
도 15는 미리보기에 시각화를 주입하는 방법(1500)의 흐름도이다. 참조 번호(1510)에서, 데이터 소스와 연관된 데이터의 적어도 하나의 서브세트가 수신된다. 예를 들어, 데이터 소스의 선택 시에, 선택된 데이터 소스와 연관된 데이터가 수신될 수 있다. 참조 번호(1520)에서, 수신된 데이터에 대해 하나 이상의 통계적측정치가 계산된다. 그러한 통계적 측정치의 예시는 카운트(예컨대, 모든 행의 카운트, 고유값 카운트, 누락값 카운트), 범위(예컨대, 최소, 최대, 범위) 및 통계 요약(예컨대, 평균값, 중간값, 최빈값, 분산, 표준 편차 등)을 포함하지만 이에 제한되지 않는다. 참조 번호(1530)에서, 시각화가 계산된 측정치 중 적어도 하나에 기초하여 생성된다. 일 실시예에 따르면, 시각화는 그래프(예를 들어, 바, 히스토그램, 링, 파이...)에 대응할 수 있다. 참조 번호(1540)에서, 시각화는 미리보기 내에 제시된다. 일 예시에서, 시각화는 데이터 표현 내에 통합될 수 있다. 부가 적으로 또는 대안으로, 시각화는 데이터 표현의 외부에 제시될 수 있다.
본 개시는 데이터 미리보기를 통한 작업 작성에 관한 다양한 동작을 수행하거나 수행하도록 구성된 다양한 제품 및 프로세스를 지원한다. 다음은 하나 이상의 예시적인 방법 및 시스템이다.
디스플레이 상에 그래픽 사용자 인터페이스를 제공하도록 구성된 컴퓨터에서, 방법은 다이어그램을 이용한 작업 작성을 가능하게 하도록 구성된 워크스페이스 상의 데이터 소스의 표현을 인터페이스의 제 1 부분의 디스플레이 상에 제시하는 단계와, 데이터 소스의 선택에 응답하여 데이터 소스로부터 획득된 데이터의 적어도 하나의 서브세트 및 변환 동작의 하나 이상의 시각적 표현에 기초하여 데이터 미리보기를 인터페이스의 제 2 부분에 디스플레이하는 단계를 포함한다. 방법은 변환 동작의 선택 후에 변환 동작의 적용을 반영하도록 데이터 미리보기를 업데이트하는 단계를 더 포함한다. 방법은 하나 이상의 선택된 변환 동작의 시퀀스를 인터페이스의 제 3 부분의 디스플레이 상에 제시하는 단계를 더 포함한다. 방법은 하나 이상의 선택된 변환 동작을 구현하는 인터페이스 코드를 제 3 부분의 디스플레이 상에 제시하는 단계를 더 포함한다. 방법은 하나 이상의 선택된 변환 동작을 포함하는 작업의 시각적 표현을 워크스페이스에 자동으로 추가하는 단계를 더 포함한다. 방법은 인터페이스의 제 2 부분의 디스플레이 상에 데이터의 적어도 하나의 서브세트의 그래프를 포함하는 데이터 미리보기를 제시하는 단계를 더 포함한다. 방법은 둘 이상의 데이터 세그먼트를 포함하는 데이터 미리보기를 인터페이스의 제 2 부분의 디스플레이 상에 제시하는 단계를 더 포함한다.
작업 작성을 용이하게 하는 방법은 메모리에 저장된 컴퓨터 실행가능 명령을 실행하도록 구성된 적어도 하나의 프로세서를 사용하여, 시각적 워크스페이스의 다이어그램 내의 데이터 소스의 표현을 선택하는 것에 응답하여 적어도 하나의 데이터 서브세트의 데이터 소스에 대한 쿼리를 생성하는 단계와, 쿼리 실행 결과에 기초하여 워크스페이스의 컨텍스트 내에 데이터 소스의 미리보기를 제시하는 단계를 포함하는 동작을 수행하는 단계를 포함한다. 방법은 미리보기의 컨텍스트 내에 하나 이상의 데이터 변환 동작의 시각적 표현을 제시하는 단계를 더 포함한다. 방법은 하나 이상의 데이터 변환 동작으로부터 변환 동작을 선택하는 것에 응답하여 업데이트된 쿼리를 생성하는 단계 - 업데이트된 쿼리는 선택된 변환 동작을 캡처함 - 와, 업데이트된 쿼리 실행 결과에 기초하여 미리보기를 업데이트하는 단계를 포함한다. 방법은 선택된 변환 동작을 포함하는 작업의 표현을 워크스페이스에 자동으로 추가하는 단계를 더 포함한다. 방법은 선택된 변환 동작을 수행하고 워크스페이스의 컨텍스트 내에 코드를 시각적으로 제시하도록 구성된 코드를 생성하는 단계를 더 포함한다. 방법은 선택된 시각화로 상기 미리보기를 제시하는 단계를 더 포함한다.
메모리에 결합된 프로세서를 포함하고 작업 작성을 용이하게 하는 시스템으로서, 프로세서는 메모리에 저장된 컴퓨터 실행가능 컴포넌트를 실행하도록 구성되며, 컴퓨터 실행가능 컴포넌트는 다이어그램을 이용하여 작업을 작성하는 시각적 워크스페이스를 제시하는 제 1 컴포넌트와, 데이터 소스의 선택 시에 워크스페이스와 동시에 워크스페이스 상에 표현되는 데이터 소스의 미리보기를 제시하는 제 2 컴포넌트를 포함하되, 미리보기는 데이터를 특정하는 생성된 쿼리의 실행의 결과에 기초하여 데이터 소스로부터 획득된 데이터의 적어도 서브세트로부터 생성된다. 시스템은 미리보기와 함께 하나 이상의 변환 동작의 시각적 표현을 제시하는 제 3 컴포넌트와, 하나 이상의 선택된 변환 동작의 적용을 반영하도록 미리보기를 업데이트하는 제 4 컴포넌트를 더 포함한다. 시스템은 하나 이상의 선택된 변환 동작과 연관된 코드를 생성하고 하나 이상의 선택된 변환 동작을 포함하는 작업을 워크스페이스에 추가하는 제 3 컴포넌트를 더 포함한다. 일 예시에서, 미리보기는 데이터 소스로부터의 둘 이상의 데이터 세그먼트를 포함한다. 다른 예시에서, 미리보기는 데이터 소스로부터의 데이터의 무작위 또는 의사 무작위 샘플링을 포함한다. 또 다른 예시에서, 미리보기는 데이터 소스로부터의 데이터의 그래프를 포함한다.
"예시적인" 또는 그에 해당하는 다양한 형태의 단어는 본 명세서에서 예시(example), 사례(instance) 또는 실례(illustration)로서 제공되는 것을 의미하기 위해 본 명세서에 사용된다. 본 명세서에서 "예시적인"것으로 설명된 임의의 양태 또는 설계는 다른 양태 또는 설계보다 바람직하거나 유리한 것으로 해석될 필요는 없다. 또한, 예시는 명확성 및 이해의 목적으로만 제공되며 임의의 방식으로 청구된 주제 또는 본 개시의 관련 부분을 한정하거나 제한하려는 것이 아니다. 다양한 범위의 부가적인 또는 대안적인 무수한 예시가 제시될 수 있지만, 간결성을 위해 생략되었다는 것을 이해해야 한다.
본 명세서에 사용된 바와 같이, "컴포넌트" 및 "시스템"이라는 용어 및 그의 다양한 형태(예를 들어, 컴포넌트, 시스템, 서브 시스템...)는 컴퓨터 관련 엔티티, 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어 또는 실행 중인 소프트웨어를 지칭하도록 의도된다. 예를 들어, 컴포넌트는 프로세서 상에서 실행되는 프로세스, 프로세서, 객체, 인스턴스, 실행 파일, 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이에 한정되는 것은 아니다. 예를 들어, 컴퓨터에서 실행되는 애플리케이션과 컴퓨터는 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트가 프로세스 및/또는 실행 스레드에 존재할 수 있으며, 컴포넌트는 하나의 컴퓨터 상에 로컬화되고/로컬화되거나 둘 이상의 컴퓨터 사이에 분산될 수 있다.
본 상세한 설명 및 첨부된 청구항에 사용된 "또는"의 접속사는 별도로 명시되거나 문맥으로부터 명확하지 않는 한 배타적인 "또는"이 아닌 포괄적인 "또는"을 의미하는 것으로 의도된다. 다시 말해, "X" 또는 "Y"는 "X" 및 "Y"의 모든 포함적인 순열을 의미하는 것으로 의도된다. 예를 들어 "'A'가 'X'를 사용하거나", "'A'가 'Y'를 사용하거나", "'A'가 'X'와 'Y' 모두를 사용하면", "'A'는 'X' 또는 'Υ'를 사용함"이 전술한 모든 경우 하에서 충족된다.
또한, 상세한 설명 또는 청구항에서 "포함한다(includes)", "포함한다(contains)", "갖는다(has)", "갖는(having)" 또는 그 형태가 변형된 용어가 사용되는 한, 그러한 용어는 "포함하는(comprising)"이 청구항에서 전이어(transitional word)로서 사용되는 경우 해석되는 것과 같이 "포함하는(comprising)"이라는 용어와 유사한 방식으로 포괄적인 것으로 의도된다.
청구된 주제에 대한 맥락을 제공하기 위해, 도 16 및 이하의 설명은 주제의 다양한 양상이 구현될 수 있는 적절한 환경에 대한 간략하고 일반적인 설명을 제공하기 위한 것이다. 그러나 적절한 환경은 단지 예시일 뿐이며 사용 또는 기능의 범위에 대한 한정을 제안하지 않는다.
상기 개시된 시스템 및 방법은 하나 이상의 컴퓨터에서 실행되는 프로그램의 컴퓨터 실행가능 명령어의 일반적인 맥락으로 설명될 수 있지만, 당업자는 양태가 다른 프로그램 모듈 등의 조합으로 구현될 수도 있음을 인지할 것이다. 일반적으로, 프로그램 모듈은 루틴, 프로그램, 컴포넌트, 데이터 구조를 포함하며, 특히 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현한다. 또한, 당업자는 상기 시스템 및 방법이 단일 프로세서, 멀티 프로세서 또는 멀티 코어 프로세서 컴퓨터 시스템, 미니 컴퓨팅 디바이스, 메인 프레임 컴퓨터 뿐만 아니라 개인용 컴퓨터, 핸드헬드 컴퓨팅 디바이스(예컨대, PDA(personal digital assistant), 전화, 시계...), 마이크로프로세서 기반 장치 또는 프로그램 가능 소비자 장치 또는 산업용 전자 장치 등을 포함하는 다양한 컴퓨터 시스템 구성으로 실시될 수 있음을 이해할 것이다. 또한, 양태가 통신 네트워크를 통해 연결된 원격 처리 디바이스를 통해 작업을 수행하는 분산 컴퓨팅 환경에서도 실시될 수도 있다. 그러나, 청구된 주제의 모든 양태는 아니더라도 일부의 양태는 독립형 컴퓨터(stand-alone computers)에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 디바이스 중 하나 또는 둘 모두에 위치될 수 있다.
도 16을 참조하면, 예시적인 범용 컴퓨터 또는 컴퓨팅 디바이스(1602)(예를 들어, 데스크톱, 랩톱, 태블릿, 시계, 서버, 핸드헬드, 프로그래 가능 소비자 장치 또는 산업용 전자 장치, 셋톱 박스, 게임 시스템, 컴퓨터 노드...)가 도시된다. 컴퓨터(1602)는 하나 이상의 프로세서(1620), 메모리(1630), 시스템 버스(1640), 대용량 저장 디바이스(1650) 및 하나 이상의 인터페이스 컴포넌트(1670)를 포함한다. 시스템 버스(1640)는 적어도 상기 시스템 구성 요소를 통신 가능하게 연결한다. 그러나, 컴퓨터(1602)는 가장 간단한 형태에서 메모리(1630)에 저장된 다양한 컴퓨터 실행가능 동작, 명령어 및/또는 컴포넌트를 실행하는 메모리(1630)에 연결된 하나 이상의 프로세서(1620)를 포함할 수 있음을 이해해야 한다.
프로세서(1620)는 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), FPGA(field programmable gate array) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트 또는 본 명세서에 설명된 기능을 수행하도록 설계된 이들의 임의의 조합을 포함할 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로 프로세서는 임의의 프로세서, 컨트롤러, 마이크로컨트롤러 또는 상태 머신일 수 있다. 프로세서(1620)는 또한, 예를 들어, DSP와 마이크로 프로세서의 조합과 같은 컴퓨팅 디바이스의 조합, 복수의 마이크로프로세서, 멀티 코어 프로세서, DSP 코어와 결합된 하나 이상의 마이크로프로세서, 또는 임의의 다른 구성으로 구현될 수도 있다. 일 실시예에서, 프로세서는 그래픽 프로세서일 수 있다.
컴퓨터(1602)는 청구된 주제의 하나 이상의 양태를 구현하기 위해 컴퓨터(1602)의 제어를 용이하게 하는 다양한 컴퓨터 판독가능 매체를 포함하거나 상호동작할 수 있다. 컴퓨터 판독가능 매체는 컴퓨터(1602)에 의해 액세스 될 수 있고 휘발성 및 비휘발성 매체와 분리형 및 비분리형 매체를 포함하는 임의의 이용가능한 매체일 수 있다. 컴퓨터 판독가능 매체는 2 개의 구별되는 유형, 즉 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다.
컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 저장 매체는 메모리 디바이스(예컨대, RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory)...), 자기 저장 디바이스(예컨대, 하드 디스크, 플로피 디스크, 카세트, 테이프...), 광학 디스크(예컨대, 컴팩트 디스크(CD), DVD(digital versatile disk)...) 및 고체 상태 디바이스(예컨대, SSD(Solid State Drive), 플래시 메모리 드라이브(예컨대, 카드, 스틱, 키 드라이브...)...), 또는 컴퓨터(1602)에 의해 액세스 가능한 원하는 정보를 전송 또는 통신하는 것이 아니라 저장하는 임의의 다른 유사한 매체와 같은 저장 디바이스를 포함할 수 있다. 따라서, 컴퓨터 저장 매체는 변조된 데이터 신호를 제외한다.
통신 매체는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 실시하고 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호의 정보를 인코딩하는 방식으로 하나 이상의 특성 설정되거나 변경된 신호를 의미한다. 예시로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속(direct-wired connection)과 같은 유선 매체와 음향, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함하지만, 이에 한정되는 것은 아니다.
메모리(1630) 및 대용량 저장 디바이스(1650)는 컴퓨터 판독가능 저장 매체의 예시이다. 컴퓨팅 디바이스의 정확한 구성 및 유형에 따라, 메모리(1630)는 휘발성(예컨대, RAM), 비휘발성(예컨대, ROM, 플래시 메모리...) 또는 이들의 일부 조합일 수 있다. 예시로서, 스타트-업 동안에서와 같이, 컴퓨터(1602) 내의 구성 요소간에 정보를 전송하는 기본 루틴을 포함하는 BIOS(basic input/output system)는 비휘발성 메모리에 저장될 수 있는 반면, 휘발성 메모리는 프로세서(1620)에 의한 처리를 용이하게 하는 외부 캐시 메모리로서 동작할 수 있다.
대용량 기억 디바이스(1650)는 메모리(1630)와 관련된 많은 양의 데이터를 저장하기 위한 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 예를 들어, 대용량 기억 디바이스(1650)는 자기 또는 광학 디스크 드라이브, 플로피 디스크 드라이브, 플래시 메모리, 고체 상태 드라이브 또는 메모리 스틱과 같은 하나 이상의 장치를 포함할 수 있지만 이에 제한되지 않는다.
메모리(1630) 및 대용량 저장 디바이스(1650)는 운영 체제(1660), 하나 이상의 애플리케이션(1662), 하나 이상의 프로그램 모듈(1664) 및 데이터(1666)를 포함할 수 있다. 운영 체제(1660)는 컴퓨터(1602)의 자원을 제어하고 할당한다. 애플리케이션(1662)은 시스템 및 애플리케이션 소프트웨어 중 하나 또는 양자를 포함하며, 하나 이상의 동작을 수행하기 위해 메모리(1630) 및/또는 대용량 저장 디바이스(1650)에 저장된 프로그램 모듈(1664)과 데이터(1666)를 통해 운영 체제(1660)에 의한 자원의 관리를 활용할 수 있다. 따라서, 애플리케이션(1662)은 범용 컴퓨터 (1602)를 그에 제공된 로직에 따라 특수 머신으로 전환시킬 수 있다.
청구된 주제의 전부 또는 일부는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용하여 구현되어 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합을 생성하여 컴퓨터로 하여금 개시된 기능을 실현하도록 제어할 수 있다. 예를 들어,시각적 작성 시스템(100) 또는 그 일부는 애플리케이션(1662)일 수 있거나 또는 그 일부를 형성할 수 있고, 하나 이상의 프로세서(1620)에 의해 실행될 경우 그 기능이 실현될 수 있는 메모리 및/또는 대용량 저장 디바이스(1650)에 저장된 하나 이상의 모듈(1664) 및 데이터(1666)를 포함할 수 있다.
하나의 특정 실시예에 따라, 프로세서(1620)는 단일 집적 회로 기판 상에 하드웨어 및 소프트웨어 양자를 포함하거나, 달리 말해 통합되는 SOC(system on chip) 또는 유사한 아키텍처에 대응할 수 있다. 여기서, 프로세서(1620)는 다른 것들 중에서 특히 프로세서(1620) 및 메모리(1630)와 적어도 유사한 메모리뿐만 아니라 하나 이상의 프로세서를 포함할 수 있다. 기존의 프로세서는 최소한의 하드웨어 및 소프트웨어를 포함하며 외부 하드웨어 및 소프트웨어에 광범위하게 의존한다. 이와 대조적으로, SOC 구현 프로세서는 외부 하드웨어 및 소프트웨어에 대한 의존성을 최소화하거나 전혀 사용하지 않고도 특정 기능을 구현할 수 있는 하드웨어 및 소프트웨어를 내장하고 있기 때문에 더욱 강력하다. 예를 들어, 시각적 작성 시스템(100) 및/또는 관련 기능은 SOC 아키텍처에서 하드웨어 내에 내장될 수 있다.
컴퓨터(1602)는 또한 시스템 버스(1640)에 통신 가능하게 연결되고 컴퓨터(1602)와의 상호동작을 용이하게 하는 하나 이상의 인터페이스 컴포넌트(1670)를 포함한다. 예시로서, 인터페이스 컴포넌트(1670)는 포트(예컨대, 직렬, 병렬, PCMCIA, USB, Fire Wire...) 또는 인터페이스 카드(예컨대, 사운드, 비디오...) 등일 수 있다. 일 실시예에서, 인터페이스 컴포넌트(1670)는 사용자 입력/출력 인터페이스로서 실시되어, 사용자로 하여금 하나 이상의 입력 디바이스(예컨대, 마우스, 트랙볼, 스타일러스, 터치 패드, 키보드, 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너, 카메라, 다른 컴퓨터 등과 같은 포인팅 디바이스)를 통해, 예를 들어, 하나 이상의 제스처 또는 음성 입력의 방식으로 컴퓨터(1602)에 명령 및 정보를 입력하는 것을 가능하게 할 수 있다. 다른 실시예에서, 인터페이스 컴포넌트(1670)는 다른 것들 중에서 출력을 디스플레이(예를 들어, LCD, LED, 플라즈마...), 스피커, 프린터 및/또는 다른 컴퓨터에 공급하는 출력 주변 인터페이스로서 실시될 수 있다. 또한, 인터페이스 컴포넌트(1670)는 유선 또는 무선 통신 링크를 통해서와 같이 다른 컴퓨팅 디바이스(미도시)와의 통신을 가능하게 하는 네트워크 인터페이스로서 실시될 수 있다.
전술한 내용은 청구된 주제의 양태의 예시를 포함한다. 물론, 청구된 주제를 설명할 목적으로 모든 컴포넌트 또는 방법의 가능한 조합을 기술하는 것은 불가능하지만, 본 기술 분야의 당업자는 개시된 주제의 많은 추가적인 조합 및 순차적인 조합(permutations)이 가능하다는 것을 인지할 수 있다. 따라서, 개시된 주제는 첨부된 청구항의 사상 및 범위 내에 있는 그러한 모든 변경, 수정 및 변형을 포함하는 것으로 의도된다.

Claims (13)

  1. 작업 작성(job authoring)을 용이하게 하는 방법으로서,
    메모리에 저장된 컴퓨터 실행가능 명령어를 실행하는 적어도 하나의 프로세서를 사용하여,
    시각적 워크스페이스(visual workspace)의 다이어그램에서 데이터 소스의 표현의 선택을 검출하는 단계와,
    상기 선택에 응답하여 적어도 데이터의 서브세트를 요청하는 상기 데이터 소스에 대한 쿼리를 생성하는 단계와,
    쿼리 실행 결과에 기초하여 상기 워크스페이스의 컨텍스트 내에 상기 데이터 소스의 미리보기를 제시하는 단계를 수행하는
    방법.
  2. 제 1 항에 있어서,
    상기 미리보기의 컨텍스트 내에 하나 이상의 데이터 변환 동작의 시각적 표현을 제시하는 단계를 더 포함하는
    방법.
  3. 제 2 항에 있어서,
    상기 하나 이상의 데이터 변환 동작 중에서 하나의 변환 동작을 선택하는 것에 응답하여 업데이트된 쿼리를 생성하는 단계 - 상기 업데이트된 쿼리는 상기 선택된 변환 동작을 캡처함 - 와,
    업데이트된 쿼리 실행 결과에 기초하여 상기 미리보기를 업데이트하는 단계를 더 포함하는
    방법.
  4. 제 3 항에 있어서,
    상기 선택된 변환 동작을 포함하는 작업의 표현을 상기 워크스페이스에 자동으로 추가하는 단계를 더 포함하는
    방법.
  5. 제 3 항에 있어서,
    상기 선택된 변환 동작을 수행하는 코드를 생성하는 단계를 더 포함하는
    방법.
  6. 제 5 항에 있어서,
    상기 코드를 상기 워크스페이스의 컨텍스트 내에 시각적으로 제시하는 단계를 더 포함하는
    방법.
  7. 제 1 항에 있어서,
    선택된 시각화(visualization)를 갖는 상기 미리보기를 제시하는 단계를 더 포함하는
    방법.
  8. 작업 작성을 용이하게 하는 시스템으로서,
    메모리에 연결된 프로세서 - 상기 프로세서는 상기 메모리에 저장된 컴퓨터 실행가능 컴포넌트를 실행함 - 를 포함하고,
    상기 컴퓨터 실행가능 컴포넌트는,
    다이어그램을 이용하여 작업을 작성하는 시각적 워크스페이스를 제시하는 제 1 컴포넌트와,
    데이터 소스의 선택 후에 상기 워크스페이스와 동시에 상기 워크스페이스 상에 표현되는 상기 데이터 소스의 미리보기를 제시하는 제 2 컴포넌트 - 상기 미리보기는 데이터를 특정하도록 생성된 쿼리의 실행 결과에 기초하여 상기 데이터 소스로부터 획득된 적어도 상기 데이터의 서브세트로부터 생성됨 - 를 포함하는
    시스템.
  9. 제 8 항에 있어서,
    상기 미리보기와 함께 하나 이상의 변환 동작의 시각적 표현을 제시하는 제 3 컴포넌트를 더 포함하는
    시스템.
  10. 제 9 항에 있어서,
    하나 이상의 선택된 변환 동작의 적용을 반영하도록 상기 미리보기를 업데이트하는 제 4 컴포넌트를 더 포함하는
    시스템.
  11. 제 9 항에 있어서,
    하나 이상의 선택된 변환 동작과 연관된 코드를 생성하는 제 3 컴포넌트를 더 포함하는
    시스템.
  12. 제 9 항에 있어서,
    하나 이상의 선택된 변환 동작을 포함하는 작업을 상기 워크스페이스에 추가하는 제 3 컴포넌트를 더 포함하는
    시스템.
  13. 제 9 항에 있어서,
    상기 미리보기는 상기 데이터 소스로부터의 무작위 또는 의사 무작위(pseudorandom) 데이터 샘플링을 포함하는
    시스템.
KR1020177010813A 2014-10-23 2015-10-20 데이터 미리보기를 통한 작업 작성 기법 KR20170073604A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/521,465 US20160117371A1 (en) 2014-10-23 2014-10-23 Job authoring with data preview
US14/521,465 2014-10-23
PCT/US2015/056293 WO2016064771A1 (en) 2014-10-23 2015-10-20 Job authoring with data preview

Publications (1)

Publication Number Publication Date
KR20170073604A true KR20170073604A (ko) 2017-06-28

Family

ID=54366532

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177010813A KR20170073604A (ko) 2014-10-23 2015-10-20 데이터 미리보기를 통한 작업 작성 기법

Country Status (11)

Country Link
US (1) US20160117371A1 (ko)
EP (1) EP3210108A1 (ko)
JP (1) JP2017535856A (ko)
KR (1) KR20170073604A (ko)
CN (1) CN107077349A (ko)
AU (1) AU2015336228A1 (ko)
BR (1) BR112017005717A2 (ko)
CA (1) CA2964483A1 (ko)
MX (1) MX2017005192A (ko)
RU (1) RU2017113939A (ko)
WO (1) WO2016064771A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10261741B2 (en) * 2015-02-09 2019-04-16 Prysm, Inc Content sharing with consistent aspect ratios
US9514205B1 (en) 2015-09-04 2016-12-06 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
EP3282374A1 (en) 2016-08-17 2018-02-14 Palantir Technologies Inc. User interface data sample transformer
US10754820B2 (en) 2017-08-14 2020-08-25 Palantir Technologies Inc. Customizable pipeline for integrating data
JP7100991B2 (ja) * 2018-03-01 2022-07-14 株式会社日立システムズ データ変換装置およびデータ変換方法
US11263263B2 (en) 2018-05-30 2022-03-01 Palantir Technologies Inc. Data propagation and mapping system
US10691304B1 (en) 2018-10-22 2020-06-23 Tableau Software, Inc. Data preparation user interface with conglomerate heterogeneous process flow elements
US11250032B1 (en) 2018-10-22 2022-02-15 Tableau Software, Inc. Data preparation user interface with conditional remapping of data values
US11388219B2 (en) * 2019-04-23 2022-07-12 International Business Machines Corporation Interactive data transfer
US11373221B2 (en) * 2019-07-26 2022-06-28 Ebay Inc. In-list search results page for price research
US11755608B2 (en) * 2020-01-13 2023-09-12 Salesforce, Inc. Interactive dataflow preview
WO2021171423A1 (ja) * 2020-02-26 2021-09-02 富士通株式会社 情報処理装置、情報処理システム及びデータフロー編集プログラム
US12032994B1 (en) 2021-10-18 2024-07-09 Tableau Software, LLC Linking outputs for automatic execution of tasks

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601058B2 (en) * 1998-10-05 2003-07-29 Michael Forster Data exploration system and method
US6360235B1 (en) * 1999-03-16 2002-03-19 Webcriteria, Inc. Objective measurement and graph theory modeling of web sites
US7747611B1 (en) * 2000-05-25 2010-06-29 Microsoft Corporation Systems and methods for enhancing search query results
US8447775B2 (en) * 2003-06-13 2013-05-21 Microsoft Corporation Database query user interface to assist in efficient and accurate query construction
US20050057566A1 (en) * 2003-09-11 2005-03-17 International Business Machines Corporation Rich graphic visualization generation from abstract data representation
TW200807263A (en) * 2006-07-19 2008-02-01 Benq Corp Document editing systems and methods
US20090100015A1 (en) * 2007-10-11 2009-04-16 Alon Golan Web-based workspace for enhancing internet search experience
US20090144262A1 (en) * 2007-12-04 2009-06-04 Microsoft Corporation Search query transformation using direct manipulation
US8810595B2 (en) * 2008-06-26 2014-08-19 Microsoft Corporation Declarative approach for visualization
US8452723B2 (en) * 2011-05-05 2013-05-28 Business Objects Software Ltd. Dataset previews for ETL transforms
US9372671B2 (en) * 2011-08-30 2016-06-21 Sybase, Inc. Modeling and code generation for SQL-based data transformations
US9430449B2 (en) * 2012-03-30 2016-08-30 Sdl Plc Systems, methods, and media for managing editable previews of webpages

Also Published As

Publication number Publication date
RU2017113939A (ru) 2018-10-23
WO2016064771A1 (en) 2016-04-28
AU2015336228A1 (en) 2017-04-13
CA2964483A1 (en) 2016-04-28
EP3210108A1 (en) 2017-08-30
JP2017535856A (ja) 2017-11-30
MX2017005192A (es) 2017-07-27
US20160117371A1 (en) 2016-04-28
BR112017005717A2 (pt) 2017-12-12
CN107077349A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
KR20170073604A (ko) 데이터 미리보기를 통한 작업 작성 기법
US10606665B2 (en) Job scheduling and monitoring in a distributed computing environment
CN109313739B (zh) 用于提供工作流程的可视化的系统和方法
US20160117087A1 (en) Job creation and reuse
US8776016B2 (en) Integration of structured profiling data with source data in the eclipse development environment
US10684998B2 (en) Automatic schema mismatch detection
CN111191410A (zh) 用于计算笔记本界面的系统和方法及其计算机可读介质
JP5987853B2 (ja) ラダープログラム作成装置、コンピュータプログラム及びコンピュータ可読情報記録媒体
CN111831258A (zh) 创建应用程序的方法和系统
US11789775B2 (en) Progress visualization of computational job
US20120215804A1 (en) Data-programming environment
US8983907B2 (en) Change notifications from an updated data representation
US11467857B2 (en) Intelligently sensing digital user context to generate recommendations across client device applications
CN114764296A (zh) 机器学习模型训练方法、装置、电子设备及存储介质
US20240153171A1 (en) Binding data to graphic objects using a visual indicator
US20240160418A1 (en) Low code no code ci/cd platform
Desjardins et al. Introducing Visual Studio