2010-12-03 3 views
5

데이터 변환을위한 비 클라우드 기반 오픈 소스 앱을 찾고 있습니다. 데이터 변환을 위해 제작 된 살인자 (및 킬러를 의미하는) 앱의 경우 최대 1000 달러를 기꺼이 지출 할 수 있습니다.데이터 인식, 구문 분석, 필터링 및 변환 - GUI?

나는 Perl, Kapow Katalyst, Pentaho Kettle 등을 살펴 보았습니다.

명확하게 언어이지만 데이터 처리만을위한 프레임 워크/DSL을 찾을 수없는 Perl, Python, Ruby; 그것들은 정말 훌륭한 개발 환경이 아닙니다. 즉, RegEx, 입출력 (CSV, XML, JDBC, REST 등)을 빌드하기위한 GUI가 없으며 데이터의 행과 행을 테스트하는 디버거가 없습니다. 나쁘지도 않다. 내가 찾던 GUI가 아니다. 복잡한 데이터 변환을 위해 만들어진 GUI이다. 즉 GUI/app 파일이 스크립팅 언어로되어 있고 사람이 읽을 수없는 XML/ASCII 파일에 저장되어있는 것이 아니라면 좋을 것입니다.

KAPOW Katalyst는 구조화되지 않은 텍스트를 변환하는 좋은 GUI를 가지고 (HTML, CSS, RSS, 자바 스크립트 등) HTTP를 통해 데이터에 액세스하기 위해 만든 있지만, 그 핵심 가치 제공하지, 그리고 방법, 방법 너무 비싼. 문서 네임 스페이스 경로를 탐색하는 것은 괜찮습니다. 구문이 동일하기 때문에 백엔드에서 XPath 만 사용하는 것입니다.

Pentaho 주전자에는 가장 일반적인 데이터 저장소의 입력/출력과 자체 처리 데이터 처리를위한 멋진 GUI가 있습니다. 괜찮습니다, 그리고 작은 학습 곡선이 있습니다. 주전자의 디버거는 데이터를보기가 쉽지만 오류와 예외는 출력과 연결되지 않으므로 문제를 실제로 디버그 할 방법이 없습니다. 출력/오류/예외를 다시로드 할 수는 없지만 시스템 피드백을 볼 수 있음을 의미합니다. 모두 주전자 데이터 변환은 _______입니다. 단지 뭔가를 놓치고 있어야한다는 느낌이 들었습니다. "가능하지 않다면 JavaScript로 변형을 작성하십시오."라는 말로 완전히 의아해했기 때문입니다. 음, 뭐라구?

그래서 어떤 제안이 필요합니까? 내가 실제로 어떤 transformations을 spec'd하지 않았다는 것을 깨닫지 만, 만약 당신이 정말로 데이터 조작을 위해 제품을 사용한다면, 나는 그것에 대해 알고 싶다. 심지어 탁월하다.

현재 일반적으로 10-100 개의 열로 1000-100,000 행을 처리 할 수있는 제품을 찾고 있습니다. 데이터 세트를 프로파일 링 할 수 있다면 멋지게 될 것입니다. 이는 주전자 종류의 기능이지만 너무 좋지는 않습니다. 단위 테스트를 기본으로하고 싶습니다. 즉, 컨트롤 세트의 데이터를 빌드하고 컨트롤 세트에 대한 변경 사항을 실행할 수 있습니다. 그런 다음 빌드를 변경하지 않고 변형을 구축 할 때 행과 열을 선택적으로 필터링 할 수 있어야합니다. 예를 들어 변환을 통해 데이터 세트를 실행하고 결과를 필터링하면 첫 번째 "논리적"발생시 해당 세트가 자동으로 차단됩니다. 차례대로 "보기"할 데이터가 적어지고 각 향상된 반복마다 런타임이 단축됩니다. 무슨 미친 좋은 것입니다 경우 응용 프로그램을 추적하는 행/열 필터링 (및 출력 필터링 된) 것입니다. 단위 테스트/변경 사항 강조 표시. 응용 프로그램 로그에 영향을 줄 수있는 변경 작업을 수행하고 "지점 삭제"를 기반으로 한 단위 테스트를 추적 할 수 있다면 경고 메시지가 표시되고 저장된 분기 데이터를 덤프 할 수 있습니다. 차세대 출력의 차이를위한 기본 키 또는 퍼지 논리를 사용하여 일치 시키려고 시도 할 수도 있습니다. 그리고 네, 이것이 파이프의 꿈이라는 것을 알고 있습니다.하지만 헤이, 내가 물어 보았다.

언제든지 댓글을 달거나 추가 정보를 제공해 드리겠습니다.

+1

최대 $ 1000? 그 번호에 어떻게 도착 했습니까? 어떤 제품을 보았습니까? –

+0

@ S.Lott : "$ 1000까지? 그 번호에 어떻게 도착 했습니까?" 기업 예산, 정말 돈을 지출에 관심이 없습니다. 나는 CloverELT를 보았다. CE에는 변환 지원이 거의 없습니다. 사실, 대부분의 ETL은 복잡한 변형조차하지 않는 것처럼 보입니다. 자바 버전은 펄 버전보다 60-70 % 더 많은 변형이있는 것으로 보이지만 Talend에 오지 않았습니다. 대부분의 ETL은 T가 아닌 E와 L에 초점을 맞추고 있습니다. 나는 이것에 대해 완전히 새롭지 만 웹에서 데이터를 추출하기 위해 과거에는 주로 Kapow/RoboSuite를 사용했습니다. 이제는 데이터 변환 빌드에 중점을 둡니다. – blunders

+0

@ S.Lott : 여기에 방금 게시 한 CloverETL의 CE 기능에 대한 설명이 있습니다. http://www.cloveretl.com/products/community-edition/features – blunders

답변

3
+0

매우 근사합니다. 감사합니다. 사용 해본 적이 있습니까? 그것은 틈새 작업을위한 것일뿐입니다.하지만 오픈 소스와 그것이하는 일에 매우 뛰어납니다. 그것은 나와 함께 괜찮습니다. – blunders

+2

예, 사용했습니다. 스프레드 시트를 정리하는 데 중점을 둡니다. 필자는 빈 그리드가 아닌 테이블 형식 데이터의 필요성부터 시작하여 Excel을 다시 생각하는 것으로 생각합니다. –

1

나는 데이터 또는 당신이하려는 변환 정확히 어떤 종류의 정확히 어떤 종류의 확실하지 않다,하지만 주로 수학적 변환의 경우, 아마 당신은 FreeMat, Octave, 또는 SciLab 시도 할 수 있습니다. 더 많은 데이터웨어 하우스 스타일의 도구라면 Clover, Talend, JasperETL Community Edition 또는 Jitterbit과 같은 오픈 소스 ETL 도구를 사용해보십시오.

+0

제안을 주셔서 감사 드리며, Talend-CE를 다운로드했지만 5 분 후에 "시도"를 시작하여 포기했습니다. 지금 클로버, JasperETL-CE 및 JitterBit을 살펴 보겠습니다. 수학적 변환에 관해서는, 그것은 현재 필요하지 않습니다. 그러나 나는 여전히 앱을 체크 아웃 할 것입니다, 그래서 나는 그들에게 거친 느낌을 가지고 있습니다. 다시 고마워! – blunders

2

Talend는 기본 변환을 연결하고 버전 제어 변형을 유지하기위한 요구 사항을 충족시키기 위해 약 5 분이 소요됩니다. Talend에서 파이프 라인 프로세스를 설명 할 때, 동일한 원시 데이터가 다양한 변환과 필터링을 거쳐 원하는대로 최종 결과물에 도달 할 때까지 프로젝트에서 여러 입출력을 갖는 방법을 알면 쉽게 이해할 수 있습니다. 그런 다음 유사한 데이터에 대해 프로세스를 반복하도록 작업을 예약 할 수 있습니다. 돌아가서 Talend와 더 많은 시간을 보내면 필요한 것이 성공할 것입니다.

나는 또한 Google Refine의 커미터 중 한 명이 며 일상 업무에서 Talend도 사용합니다. 사실 Google 번역에서 Talend에 대한 변형을 먼저 모델링하는 경우가 있습니다. (때로는 심지어 Refine을 사용하여 borked ETL 변환 자체를 수행합니다! LOL) Taleend에 대한 내 경험이 Google Refine의 몇 가지 기능에서 작은 부분을 담당했음을 알려드립니다. 예를 들어, Talend와 Google Refine 모두 변환을위한 표현 편집기의 개념이 있습니다 (Talend는 필요한 경우 Java 언어로 이동합니다).

Google은 ETL이 대용량 데이터웨어 하우스 백엔드 처리 & 변환에 일반적으로 사용된다는 점에서 그 공간에서 경쟁 할 수 있도록 설계하지 않았기 때문에 ETL 도구가 될 수 없습니다. 그러나 우리는 변형 및 정리에 대한 정보에 근거한 결정을 내리기 쉬운 실시간 미리보기를 허용하여 Talend와 같은 기존 ETL 도구를 보완하기 위해 Google Refine을 설계했습니다. 데이터가 엄청나게 크지 않으면 조정 자체 내에서 필요한 것을 수행하도록 선택할 수 있습니다. .

+0

+1 @ Guadry : 고마워, 나는 사실 그들 둘 다 시도했다. Talend가 Java/Perl (Java/Perl)의 두 버전을 다시 작성하고 각각 다른 기능을 지원한다는 것 외에도 Talend에 대해 많이 생각하지 마십시오. Google Refine은 훌륭하며 ETL이 될 수는 없다고 동의하지만 Excel에있는 기능적 차이를 스스로 채우지는 않습니다. 예를 들어 네이티브 RegEx 지원. 즉, 내가 놓친 가능성이 있거나 기능이 소개 된 이후 API 또는 CLI가없는 Google Refine을 생각해보십시오. 게시 해 주셔서 감사 드리며 Google Refine이 훌륭한 도구라고 생각하십니까? – blunders

+0

@blunders 사용할 수있는 API는 다음과 같습니다. https://github.com/PaulMakepeace/refine-client-py/ https://github.com/maxogden/refine-python https://github.com/maxogden/refine-ruby –