SlideShare una empresa de Scribd logo
1 de 82
Twineworks
Testing
PDI solutions
Slawomir Chodnicki
BI Consultant
slawo@twineworks.com
TwineworksThe sample project
2
.
|-- bin # entry point scripts
|-- environments # environment configuration
|-- etl # ETL solution
`-- spec # tests and helpers
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest orchestration
$ bin/robot test
3
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest orchestration
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin4
TwineworksTest orchestration
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin5
TwineworksTest orchestration
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin6
Twineworks
Jenkins is a continuous integration server.
It’s basic role is to run the test suite and build any artifacts upon changes
in version control.
Example server:
http://ci.pentaho.com/
Twineworks
Twineworks
Twineworks
Twineworks
Jenkins is a continuous integration server.
It’s basic role is to run the test suite and build any artifacts upon changes
in version control.
Example server:
http://ci.pentaho.com/
Twineworks
Testable solutions
Twineworks
Configuration
management
• configure all data sources/targets and
paths through kettle variables or
parameters
• local environment - not in version control
• test environment - reference
environment
• production environment - optional
13
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
Configuration
management
14
environments
`-- local # dev environment – not in version control
|-- environment.sh # shell environment variables
|-- my.cnf # database config file
`-- .kettle # KETTLE_HOME
|-- shared.xml # database connections
`-- kettle.properties # kettle variables
`-- test # test environment – in version control
`-- production # other environments
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksEnvironments are self-contained
• share nothing
• reproducible results:
– you can run it
– your team can run it
– ci-server can run it
15
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
Configuration
management
$ bin/robot spoon
16
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
Configuration
management
17
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksInitialize db
$ bin/robot db reset
clearing database [ OK ]
initializing database
2017/10/20 15:32:37 - Kitchen - Start of run.
2017/10/20 15:32:37 - reset_dwh - Start of job execution
…
…
2017/10/20 15:32:41 - Kitchen - Finished!
2017/10/20 15:32:41 - Kitchen - Processing ended after 4 seconds.
[ OK ]
18
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksSub-systems/Phases
• Define sub-systems/phases
– define pre-requisites
• data expected in certain sources
– define outcomes
• data written to certain sinks
• A sub-system/phase of the ETL process is
responsible for a small set of related side-
effects to happen
19
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksSub-systems/Phases
20
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksSub-systems/Phases
21
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksEntry points
• Define entry points with a full functional
contract.
• An entry point implements an application
feature.
22
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksEntry points
23
Twineworks
Testing ETL
solutions
TwineworksKinds of automated tests
• Computation tests
• Integration tests
• Functional tests
• Non-functional tests
25
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksComputation tests
• Single unit of ETL under test
• Performs a computation (no side-effects)
• What is a “unit” in PDI?
– Job?
– Transformation?
– Sub-transformation (mapping)?
26
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksA simple computation test
Test job
spec/dwh/validate_params/validate_params_spec.kjb
27
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksA simple computation test
Test job
spec/dwh/validate_params/validate_params_spec.kjb
The job calls
etl/dwh/validate_params.kjb
- with DATA_DATE=2016-07-01 and expects it to succeed
- with DATA_DATE=1867-12-21 and expects it to fail
The job succeeds if all expectations are met. It fails otherwise.
28
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest jobs
29
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
Test transformation
results
30
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
Test transformation
results
31
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest sub-transformations
32
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest sub-transformations
33
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
Integration tests
TwineworksIntegration tests
• ETL responsible for a set of related side-
effects under test
• Most common case in ETL testing
– Test individual phases of a batch process
35
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksIntegration tests
36
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksIntegration tests
37
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksIntegration tests
38
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
Functional testing
TwineworksFunctional tests
• Entry point of ETL solution under test
• Assertions reflect invocation contract
– Behavior on happy path
– Behavior on errors
– Behavior on incorrect invocation
40
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest the daily run
41
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest the daily run
42
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest the daily run
43
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
Non-functional tests
TwineworksNon-functional tests
• Performance
– how long does workload x take?
• Stability
– what does it take to break it?
– How much memory is too little?
– What happens when loading unexpected data?
(truncated file, column too long, 50MB XML in
string field, badly formatted CSV reads as single
field, empty files)
45
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksNon-functional tests
• Security
– Verify configuration assumptions
automatically
• Compliance
– We must use version x of library y
46
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest compliance
47
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
Scripting tests
TwineworksJRuby
JRuby is the ruby language on the JVM
http://jruby.org
Maintained by Redhat.
Runs Rails on JBoss 
49
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksRspec
Rspec is a testing framework for ruby
http://rspec.info/
https://relishapp.com/rspec
50
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksRspec
$ bin/robot test
• Includes helper files in spec/support
• traverses the spec folder looking for files
whose names end in _spec.rb and loads
them as tests
51
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
52
describe "dwh clear job" do
end
end
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
53
describe "dwh clear job" do
describe "when db is not empty" do
end
end
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
54
describe "dwh clear job" do
describe "when db is not empty" do
before :all do
dwh_db.load_fixture "spec/fixtures/steelwheels/steelwheels.sql"
@result = run_job "etl/dwh/load/load.kjb", {}
end
end
end
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksRspec helpers
55
spec/support/spec_helpers.rb
def dwh_db
...
end
Returns a JDBC database object.
Connects on demand, and closes automatically when test-
suite ends.
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksRspec helpers
56
spec/support/spec_helpers.rb
def dwh_db
...
end
In addition
dwh_db.load_fixture(path) allows loading a sql or json fixture file
dwh_db.reset() triggers $ bin/robot db reset
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
57
describe "dwh clear job" do
describe "when db is not empty" do
before :all do
dwh_db.load_fixture "spec/fixtures/steelwheels/steelwheels.sql"
}
end
end
end
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
58
describe "dwh clear job" do
describe "when db is not empty" do
before :all do
dwh_db.load_fixture "spec/fixtures/steelwheels/steelwheels.sql"
@result = run_job "etl/dwh/util/clear.kjb"
end
end
end
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksRspec helpers
59
spec/support/spec_helpers.rb
def run_job file, params
...
end
Runs a kettle job and returns a map
{
:successful? => true/false,
:log => “log text”,
:result => [row1, row2, row3, …]
}
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
60
describe "dwh clear job" do
describe "when db is not empty" do
before :all do
dwh_db.load_fixture "spec/fixtures/steelwheels/steelwheels.sql"
@result = run_job "etl/dwh/util/clear.kjb"
end
end
end
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
61
describe "dwh clear job" do
describe "when db is not empty" do
before :all do
dwh_db.load_fixture "spec/fixtures/steelwheels/steelwheels.sql"
@result = run_job "etl/dwh/util/clear.kjb"
end
it "completes successfully" do
expect(@result[:successful?]).to be true
end
end
end
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
62
describe "dwh clear job" do
describe "when db is not empty" do
before :all do
dwh_db.load_fixture "spec/fixtures/steelwheels/steelwheels.sql"
@result = run_job "etl/dwh/util/clear.kjb"
end
it "completes successfully" do
expect(@result[:successful?]).to be true
end
it "clears the db" do
expect(dwh_db.query("SHOW TABLES").to_a.length).to eq 0
end
end
end
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest orchestration
$ bin/robot test
63
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest orchestration
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin64
TwineworksTest orchestration
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin65
TwineworksTest orchestration
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin66
TwineworksRunning jobs as rspec tests
67
spec/etl/etl_spec.rb
Recursively traverses etl/spec looking for files whose names
end in _spec.kjb, and dynamically generates a describe and
it block for it.
Hence all such job files are part of the test suite.
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
Twineworks
68
describe "ETL" do
Dir.glob("./**/*_spec.kjb").each do |path|
describe "#{path}” do
it "completes successfully" do
@result = run_job path.to_s, {}
expect(@result[:successful?]).to be true
end
end
end
end
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksRspec – test orchestration
69
Rspec runs in two phases
Phase 1: collects tests, recording the structure as given by
the describe blocks.
Phase 2: filters found tests as per command line parameters
and executes them
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksRspec – test orchestration
70
Run only tests containing the word ‘clear’ in their name or
enclosing describe blocks:
$ bin/robot test --example 'clear'
Run only tests tagged ‘long_running’:
$ bin/robot test --tag 'long_running'
Run only tests in spec/commands
$ bin/robot test spec/commands
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest orchestration
$ bin/robot test
71
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTest orchestration
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin72
TwineworksTest orchestration
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin73
TwineworksTest orchestration
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin74
Twineworks
Jenkins is a continuous integration server.
It’s basic role is to run the test suite and build any artifacts upon changes
in version control.
Example server:
http://ci.pentaho.com/
Twineworks
Thank you!
Twineworks
Backup Slides
Twineworks
Testing in practice
TwineworksTest what you run
• Verify behavior of the entity you run
directly
79
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksTools of the trade
• Helpers
– utility code/etl of components reused to make
tests about the what, not about the how
– fixture loaders
– assertion helpers
– data comparison helpers
80
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksData Fixtures
• Data Fixtures
– sets of test data, encoded in a convenient way,
easily loaded into data sources and sinks
• JSON, CSV, SQL, XML, YAML
– Use whatever is easiest to maintain for the team
• Generate data fixtures through
parameterized scripts if you need to generate
datasets with consistent relationships
81
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com
TwineworksFile Fixtures
• File Fixtures
– sets of test files acted upon during a run
• Maintain file fixtures separate from source location
expected by ETL
• If fixture files are changed as part of the test, copy
them to a temporary location before running tests
• Create a unique source location per test run, if the
file location is shared (like sftp)
82
Twineworks GmbH | Helmholtzstr. 28 | 10587 Berlin | twineworks.com

Más contenido relacionado

La actualidad más candente

Performance Optimizations in Apache Impala
Performance Optimizations in Apache ImpalaPerformance Optimizations in Apache Impala
Performance Optimizations in Apache ImpalaCloudera, Inc.
 
外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張Shigeru Hanada
 
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2Norito Agetsuma
 
Streaming replication in practice
Streaming replication in practiceStreaming replication in practice
Streaming replication in practiceAlexey Lesovsky
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKensuke Maeda
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxNeoClova
 
OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料Chika SATO
 
PostgreSQL Deep Internal
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep InternalEXEM
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringTakatoshi Matsuo
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기NAVER D2
 
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and FanoutOpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and FanoutSaju Madhavan
 
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019Kenneth Ceyer
 
Migr8.rb チュートリアル
Migr8.rb チュートリアルMigr8.rb チュートリアル
Migr8.rb チュートリアルkwatch
 
HDFS Trunncate: Evolving Beyond Write-Once Semantics
HDFS Trunncate: Evolving Beyond Write-Once SemanticsHDFS Trunncate: Evolving Beyond Write-Once Semantics
HDFS Trunncate: Evolving Beyond Write-Once SemanticsDataWorks Summit
 
Big Bird - Transformers for Longer Sequences
Big Bird - Transformers for Longer SequencesBig Bird - Transformers for Longer Sequences
Big Bird - Transformers for Longer Sequencestaeseon ryu
 

La actualidad más candente (20)

Native Memory Tracking
Native Memory TrackingNative Memory Tracking
Native Memory Tracking
 
Performance Optimizations in Apache Impala
Performance Optimizations in Apache ImpalaPerformance Optimizations in Apache Impala
Performance Optimizations in Apache Impala
 
外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張外部データラッパによる PostgreSQL の拡張
外部データラッパによる PostgreSQL の拡張
 
Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2Javaトラブルに備えよう #jjug_ccc #ccc_h2
Javaトラブルに備えよう #jjug_ccc #ccc_h2
 
Streaming replication in practice
Streaming replication in practiceStreaming replication in practice
Streaming replication in practice
 
Kibanaでsysstatを可視化する
Kibanaでsysstatを可視化するKibanaでsysstatを可視化する
Kibanaでsysstatを可視化する
 
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docxKeepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
Keepalived+MaxScale+MariaDB_운영매뉴얼_1.0.docx
 
OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料OSC北海道2014_JPUG資料
OSC北海道2014_JPUG資料
 
PostgreSQL Deep Internal
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep Internal
 
Learning postgresql
Learning postgresqlLearning postgresql
Learning postgresql
 
PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介
 
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/SpringPacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
Pacemaker+PostgreSQLレプリケーションで共有ディスクレス高信頼クラスタの構築@OSC 2013 Tokyo/Spring
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기
 
Node Labels in YARN
Node Labels in YARNNode Labels in YARN
Node Labels in YARN
 
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and FanoutOpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
OpenStack Oslo Messaging RPC API Tutorial Demo Call, Cast and Fanout
 
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
AI 연구자를 위한 클린코드 - GDG DevFest Seoul 2019
 
Migr8.rb チュートリアル
Migr8.rb チュートリアルMigr8.rb チュートリアル
Migr8.rb チュートリアル
 
HDFS Trunncate: Evolving Beyond Write-Once Semantics
HDFS Trunncate: Evolving Beyond Write-Once SemanticsHDFS Trunncate: Evolving Beyond Write-Once Semantics
HDFS Trunncate: Evolving Beyond Write-Once Semantics
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
 
Big Bird - Transformers for Longer Sequences
Big Bird - Transformers for Longer SequencesBig Bird - Transformers for Longer Sequences
Big Bird - Transformers for Longer Sequences
 

Destacado

Pentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare RuleenginePentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare Ruleengineuwe geercken
 
Understanding the Pentaho CDE NewMapComponent
Understanding the Pentaho CDE NewMapComponentUnderstanding the Pentaho CDE NewMapComponent
Understanding the Pentaho CDE NewMapComponentKleyson Rios
 
Pentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matterPentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matterFrancesco Corti
 
Updates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DUpdates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DHiromu Hota
 
NGINX Plus PLATFORM For Flawless Application Delivery
NGINX Plus PLATFORM For Flawless Application DeliveryNGINX Plus PLATFORM For Flawless Application Delivery
NGINX Plus PLATFORM For Flawless Application DeliveryAshnikbiz
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemMario IC
 
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyClustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyGiovanni Toraldo
 
Pentaho | Data Integration & Report designer
Pentaho | Data Integration & Report designerPentaho | Data Integration & Report designer
Pentaho | Data Integration & Report designerHamdi Hmidi
 
Elementos ETL - Kettle Pentaho
Elementos ETL - Kettle Pentaho Elementos ETL - Kettle Pentaho
Elementos ETL - Kettle Pentaho valex_haro
 
Indic threads pune12-accelerating computation in html 5
Indic threads pune12-accelerating computation in html 5Indic threads pune12-accelerating computation in html 5
Indic threads pune12-accelerating computation in html 5IndicThreads
 
Building Data Integration and Transformations using Pentaho
Building Data Integration and Transformations using PentahoBuilding Data Integration and Transformations using Pentaho
Building Data Integration and Transformations using PentahoAshnikbiz
 
Advanced ETL2 Pentaho
Advanced ETL2  Pentaho Advanced ETL2  Pentaho
Advanced ETL2 Pentaho Sunny U Okoro
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Puppet
 
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?Carlos Sanchez
 
Business Intelligence and Big Data Analytics with Pentaho
Business Intelligence and Big Data Analytics with Pentaho Business Intelligence and Big Data Analytics with Pentaho
Business Intelligence and Big Data Analytics with Pentaho Uday Kothari
 
Migración de datos con OpenERP-Kettle
Migración de datos con OpenERP-KettleMigración de datos con OpenERP-Kettle
Migración de datos con OpenERP-Kettleraimonesteve
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryMario IC
 
Introduction to docker swarm
Introduction to docker swarmIntroduction to docker swarm
Introduction to docker swarmWalid Ashraf
 

Destacado (20)

Pentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare RuleenginePentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare Ruleengine
 
Understanding the Pentaho CDE NewMapComponent
Understanding the Pentaho CDE NewMapComponentUnderstanding the Pentaho CDE NewMapComponent
Understanding the Pentaho CDE NewMapComponent
 
Pentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matterPentaho 8 Reporting for Java Developers - Because details matter
Pentaho 8 Reporting for Java Developers - Because details matter
 
Updates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DUpdates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&D
 
NGINX Plus PLATFORM For Flawless Application Delivery
NGINX Plus PLATFORM For Flawless Application DeliveryNGINX Plus PLATFORM For Flawless Application Delivery
NGINX Plus PLATFORM For Flawless Application Delivery
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker Ecosystem
 
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) ItalyClustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
Clustering with Docker Swarm - Dockerops 2016 @ Cento (FE) Italy
 
Tao zhang
Tao zhangTao zhang
Tao zhang
 
Pentaho | Data Integration & Report designer
Pentaho | Data Integration & Report designerPentaho | Data Integration & Report designer
Pentaho | Data Integration & Report designer
 
Elementos ETL - Kettle Pentaho
Elementos ETL - Kettle Pentaho Elementos ETL - Kettle Pentaho
Elementos ETL - Kettle Pentaho
 
Indic threads pune12-accelerating computation in html 5
Indic threads pune12-accelerating computation in html 5Indic threads pune12-accelerating computation in html 5
Indic threads pune12-accelerating computation in html 5
 
Building Data Integration and Transformations using Pentaho
Building Data Integration and Transformations using PentahoBuilding Data Integration and Transformations using Pentaho
Building Data Integration and Transformations using Pentaho
 
Advanced ETL2 Pentaho
Advanced ETL2  Pentaho Advanced ETL2  Pentaho
Advanced ETL2 Pentaho
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
Scaling Jenkins with Docker: Swarm, Kubernetes or Mesos?
 
Business Intelligence and Big Data Analytics with Pentaho
Business Intelligence and Big Data Analytics with Pentaho Business Intelligence and Big Data Analytics with Pentaho
Business Intelligence and Big Data Analytics with Pentaho
 
Migración de datos con OpenERP-Kettle
Migración de datos con OpenERP-KettleMigración de datos con OpenERP-Kettle
Migración de datos con OpenERP-Kettle
 
Introduction to GPU Programming
Introduction to GPU ProgrammingIntroduction to GPU Programming
Introduction to GPU Programming
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 
Introduction to docker swarm
Introduction to docker swarmIntroduction to docker swarm
Introduction to docker swarm
 

Similar a Continuous ETL Testing for Pentaho Data Integration (kettle)

JavaLand - Integration Testing How-to
JavaLand - Integration Testing How-toJavaLand - Integration Testing How-to
JavaLand - Integration Testing How-toNicolas Fränkel
 
Process selection for manufacturing fms
Process selection for manufacturing fmsProcess selection for manufacturing fms
Process selection for manufacturing fmsKinshook Chaturvedi
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Fwdays
 
Continuous Delivery for Machine Learning
Continuous Delivery for Machine LearningContinuous Delivery for Machine Learning
Continuous Delivery for Machine LearningThoughtworks
 
How to test a Mainframe Application
How to test a Mainframe ApplicationHow to test a Mainframe Application
How to test a Mainframe ApplicationMichael Erichsen
 
201502 - Integration Testing
201502 - Integration Testing201502 - Integration Testing
201502 - Integration Testinglyonjug
 
Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019Mike Villiger
 
Releasemanagement in integration projects
Releasemanagement in integration projectsReleasemanagement in integration projects
Releasemanagement in integration projectsSven Bernhardt
 
From big data to AI, power your data with OVHcloud solutions
From big data to AI, power your data with OVHcloud solutionsFrom big data to AI, power your data with OVHcloud solutions
From big data to AI, power your data with OVHcloud solutionsOVHcloud
 
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroWant Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroSchlomo Schapiro
 
Product Design & Process Selection-Manufacturing
Product Design & Process Selection-Manufacturing Product Design & Process Selection-Manufacturing
Product Design & Process Selection-Manufacturing Joshua Miranda
 
Metrics-driven Continuous Delivery
Metrics-driven Continuous DeliveryMetrics-driven Continuous Delivery
Metrics-driven Continuous DeliveryAndrew Phillips
 
stackconf 2022: Configuration Management vs. Workflows vs. Orchestration
stackconf 2022: Configuration Management vs. Workflows vs. Orchestrationstackconf 2022: Configuration Management vs. Workflows vs. Orchestration
stackconf 2022: Configuration Management vs. Workflows vs. OrchestrationNETWAYS
 
2014 Taverna Tutorial Nested workflows
2014 Taverna Tutorial Nested workflows2014 Taverna Tutorial Nested workflows
2014 Taverna Tutorial Nested workflowsmyGrid team
 
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOpsPVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOpsAndrey Karpov
 
mu.semte.ch: A transitional architecture for Linked Data
mu.semte.ch: A transitional architecture for Linked Datamu.semte.ch: A transitional architecture for Linked Data
mu.semte.ch: A transitional architecture for Linked DataOpen Knowledge Belgium
 
Pitfalls in Performance Testing AxxesCC 06/2015
Pitfalls in Performance Testing AxxesCC 06/2015Pitfalls in Performance Testing AxxesCC 06/2015
Pitfalls in Performance Testing AxxesCC 06/2015Axxes IT Consultancy
 

Similar a Continuous ETL Testing for Pentaho Data Integration (kettle) (20)

JavaLand - Integration Testing How-to
JavaLand - Integration Testing How-toJavaLand - Integration Testing How-to
JavaLand - Integration Testing How-to
 
Process selection for manufacturing fms
Process selection for manufacturing fmsProcess selection for manufacturing fms
Process selection for manufacturing fms
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"
 
ABAP Unit and TDD
ABAP Unit and TDDABAP Unit and TDD
ABAP Unit and TDD
 
Continuous Delivery for Machine Learning
Continuous Delivery for Machine LearningContinuous Delivery for Machine Learning
Continuous Delivery for Machine Learning
 
How to test a Mainframe Application
How to test a Mainframe ApplicationHow to test a Mainframe Application
How to test a Mainframe Application
 
201502 - Integration Testing
201502 - Integration Testing201502 - Integration Testing
201502 - Integration Testing
 
VTU ECE 7th sem VLSI lab manual
VTU ECE 7th sem VLSI lab manualVTU ECE 7th sem VLSI lab manual
VTU ECE 7th sem VLSI lab manual
 
VLSI lab report using Cadence tool
VLSI lab report using Cadence toolVLSI lab report using Cadence tool
VLSI lab report using Cadence tool
 
Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019Chicago DevOps Meetup Nov2019
Chicago DevOps Meetup Nov2019
 
Releasemanagement in integration projects
Releasemanagement in integration projectsReleasemanagement in integration projects
Releasemanagement in integration projects
 
From big data to AI, power your data with OVHcloud solutions
From big data to AI, power your data with OVHcloud solutionsFrom big data to AI, power your data with OVHcloud solutions
From big data to AI, power your data with OVHcloud solutions
 
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroWant Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
 
Product Design & Process Selection-Manufacturing
Product Design & Process Selection-Manufacturing Product Design & Process Selection-Manufacturing
Product Design & Process Selection-Manufacturing
 
Metrics-driven Continuous Delivery
Metrics-driven Continuous DeliveryMetrics-driven Continuous Delivery
Metrics-driven Continuous Delivery
 
stackconf 2022: Configuration Management vs. Workflows vs. Orchestration
stackconf 2022: Configuration Management vs. Workflows vs. Orchestrationstackconf 2022: Configuration Management vs. Workflows vs. Orchestration
stackconf 2022: Configuration Management vs. Workflows vs. Orchestration
 
2014 Taverna Tutorial Nested workflows
2014 Taverna Tutorial Nested workflows2014 Taverna Tutorial Nested workflows
2014 Taverna Tutorial Nested workflows
 
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOpsPVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
PVS-Studio Is Now in Chocolatey: Checking Chocolatey under Azure DevOps
 
mu.semte.ch: A transitional architecture for Linked Data
mu.semte.ch: A transitional architecture for Linked Datamu.semte.ch: A transitional architecture for Linked Data
mu.semte.ch: A transitional architecture for Linked Data
 
Pitfalls in Performance Testing AxxesCC 06/2015
Pitfalls in Performance Testing AxxesCC 06/2015Pitfalls in Performance Testing AxxesCC 06/2015
Pitfalls in Performance Testing AxxesCC 06/2015
 

Último

Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxolyaivanovalion
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionfulawalesam
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxolyaivanovalion
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxolyaivanovalion
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...Suhani Kapoor
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingNeil Barnes
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfLars Albertsson
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxolyaivanovalion
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxJohnnyPlasten
 

Último (20)

Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Edukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFxEdukaciniai dropshipping via API with DroFx
Edukaciniai dropshipping via API with DroFx
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
VIP Call Girls Service Charbagh { Lucknow Call Girls Service 9548273370 } Boo...
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
VIP High Profile Call Girls Amravati Aarushi 8250192130 Independent Escort Se...
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Brighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data StorytellingBrighton SEO | April 2024 | Data Storytelling
Brighton SEO | April 2024 | Data Storytelling
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
Industrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdfIndustrialised data - the key to AI success.pdf
Industrialised data - the key to AI success.pdf
 
Mature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptxMature dropshipping via API with DroFx.pptx
Mature dropshipping via API with DroFx.pptx
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 

Continuous ETL Testing for Pentaho Data Integration (kettle)