1

このマニュアルに従ってソース関数を作成しました。

public static void main(String[] args) throws Exception {
    DirectProvider dp = new DirectProvider();
    Topology top = dp.newTopology();

    final URL url = new URL("http://finance.yahoo.com/d/quotes.csv?s=BAC+COG+FCX&f=snabl");

    TStream<String> linesOfWebsite = top.source(queryWebsite(url));
}

ここで、このストリームをフィルタリングしたいと思います。私は次のようなことを念頭に置いていました:

TStream<Iterable<String>> simpleFiltered = source.filter(item-> item.contains("BAX");

これは機能していません。ストリームをフィルタリングする方法を知っている人はいますか? 事前にフィルタリングを行うためにリクエスト URL を変更したくありません。

4

1 に答える 1

0

提供された情報から判断するのは困難です。 dp.submit(top)トポロジを実行するために必要です。フィルター コードは、指定されている URL を使用して発生するアイテムを指定していません。例えば、

...
TStream<String> linesOfWebsite = top.source(queryWebsite(url));
linesOfWebsite.print(); // show what's received

TStream<String> filtered = linesOfWebsite.filter(t -> t.contains("BAC"));
filtered.sink(t -> System.out.println("filtered: " + t));

dp.submit(top);  // required
于 2016-12-16T20:29:07.777 に答える