Giriş
Açıklaması şöyle
Table-valued functions return tables of batch or streaming sources that you can use in SQL statements.
GENERATE_SERIES
Açıklaması şöyle
Returns a table that contains a series of numbers, starting from the start_number argument and ending with the stop_number arguments.
Örnek
Şöyle yaparız. 100 milyon satırı IMap'e yazar
CREATE MAPPING my_first_mapTYPE IMapOPTIONS ('keyFormat'='varchar','valueFormat'='varchar');INSERT INTO my_first_mapSELECT CAST(v AS VARCHAR), CAST(v AS VARCHAR)FROM (SELECT * FROM TABLE(generate_series(0,100000000)))
Örnek
Şöyle yaparız. v isimli bir sütun verir
SELECT * FROM TABLE(generate_series(1,3)); +------------+ | v| +------------+ | 1| | 2| | 3| +------------+
Örnek
Şöyle yaparız. Burada key değeri birden başlıyor yüz bine kadar. value değeri hep sıfır
sql> CREATE MAPPING test_map TYPE IMap OPTIONS ('keyFormat'='int', 'valueFormat'='int'); OK sql> insert into test_map select v, 0 from table(generate_series(1, 100000)); OK sql> select count(*) from test_map; +--------------------+ | EXPR$0| +--------------------+ | 100000| +--------------------+ 1 row(s) selected
GENERATE_STREAMS
Açıklaması şöyle
Returns a table that contains a stream of numbers, starting from 0 at a rate of numbers_per_second every second, without an upper bound
Örnek
Şöyle yaparız
SqlService sql = ...;try (SqlResult result = sql.execute("SELECT * FROM TABLE(GENERATE_STREAM(5)) LIMIT 2")) {Iterator<SqlRow> rows = result.iterator();while (rows.hasNext()) {System.out.println("row :" + rows.next());}}
Örnek
Şöyle yaparız. Burada CancellationException alırız
HazelcastInstance hz = ... SqlResult result = hz.getSql().execute("SELECT * FROM TABLE(generate_stream(1))"); result.iterator().next(); result.close();
Hiç yorum yok:
Yorum Gönder