2012-09-19 17 views
5

Ben Pentaho (yüklü bugün) bir acemi değilim. Kaşıkta temel dönüşümü yapabildim. Şimdi nasıl yapacağımı bilemediğim bazı şeyler yapmalıyım.Pentaho kaşıktaki ipliği nasıl birleştiririm?

2012-09-17|garima|fbhjgjhgj87687jghgj88jgjj|garima#1347868164626|::ffff:120.56.132.137 

3 tarla Ne yapmam

http://api.app.com/app/api/v1/feature/fbhjgjhgj87687jghgj88jgjj 

benim hemen kaşık yapmanız gereken bir REST API bazı bilgiler almak gerekir bunun için bir kimlik, gibi

benim girişi görünüyor bu bitti? Ayrıca, veri dönüşü json biçiminde olacaktır. Bunu nasıl ayrıştırabilirim?

cevap

7

Öncelikle girişinizi ile sınırlayıcı olarak | kullanarak almalısınız. Ardından 3. alanı bir dizge olarak alabilirsiniz.

Sonraki muhtemelen bu dizeden String operations adımla tüm boşlukları kaldırmanız gerekir. Remove special character sütununa bakın ve space seçin.

Daha sonra, http adresiniz http://api.app.com/app/api/v1/feature/ ile bitiştirmeniz gerekir. Bunun için bir Calculator adımı kullanacaksınız. Bu adımı ilk operasyonda Define a constant value for ... ile yeni bir geçici alan tmpAddr oluşturmak At (böyle falan, üzgünüm benim kaşık Portekizce öyle). Field A sütununda http adresinizi yazacaksınız. Bu işi yaptıktan sonra, adresinizi bir sistem değişkeni olarak ayarlamanız iyi bir uygulamadır. Bu nedenle, eğer değiştiğinde, dönüşümlerinizin her yerine değiştirmeniz gerekmez (menüde Edit -> System Variables'a bakın).

Şimdi aynı Calculator adımında başka bir alan yaratın,işlemiyle, A+B numaralı işlemle diyelim. Oluşturduğunuz tmpAddr alanını ve Field B giriş alanından 3. alanı Field A için seçin.

Artık akışınızda tam adres olarak alan MyAddress olarak olmalıdır. Bir REST client adımını bağlayın. Mark Accept URL from field ve URL Field Name gibi sahadan MyAddress seçin. JSON için Application Type ayarlayın. MyResult olarak Result Fieldname ayarlayın.

JSON ayrıştırma işlemine ihtiyacınız varsa Json input adım ekleyebilirsiniz. Source is defined in a field'u ayarlayın ve MyResult alanını Get Source from field olarak seçin.

+0

Great ile yedek dizenize ekleyebileceğiniz bir yakalama grubu kurdu.Adım açıklama ile mükemmel bir adım ve bir çekicilik gibi çalıştı :) –

1

Alternatif bir yaklaşım, dizeyi eklemek için "Dize Değiştir" adımını kullanmaktır. Y

  1. Seti 'kullanım RegEx'
  2. Seti 'Ara' Set
  3. (.*) için parantez

Y-http://api.app.com/app/api/v1/feature/$1

  • Set 'Tam Sözcük' için 'Değiştir' regex'te daha sonra $ x sözdizimi

  • İlgili konular