// test how file can be unfolded into multiple columns
public void testUnfoldingColumn() throws IOException {
// Here's the file
File file = getFile("smalldata/chicago/chicagoAllWeather.csv");
// Get all its lines
final List<String> lines = Files.readLines(file, Charset.defaultCharset());
// Store it in H2O, with typed column as a wrapper (core H2O storage is a type-unaware Vec class)
Column<String> source = willDrop(Strings.newColumn(lines));
// Produce another (virtual) column that stores a list of strings as a row value
Column<List<String>> split = new UnfoldingColumn<>(Functions.splitBy(","), source, 10);
// now check that we have the right data
for (int i = 0; i < lines.size(); i++) {
// Since we specified width (10), the rest of the list is filled with nulls; have to ignore them.
// It's important to have the same width for the whole frame..
String actual = StringUtils.join(" ", Predicate.NOT_NULL.filter(split.apply(i)));
// So, have we lost any data?
assertEquals(lines.get(i).replaceAll("\\,", " ").trim(), actual);
}
}
no subject
Date: 2016-11-08 09:17 pm (UTC)no subject
Date: 2016-11-08 09:22 pm (UTC)no subject
Date: 2016-11-08 09:52 pm (UTC)no subject
Date: 2016-11-08 10:08 pm (UTC)если записи то вполне адекватно
no subject
Date: 2016-11-08 09:25 pm (UTC)no subject
Date: 2016-11-08 09:52 pm (UTC)Хоть слайды рисуй, чесслово. Спасибо за хинт.
no subject
Date: 2016-11-08 10:11 pm (UTC)я так понимаю что можно и мап-редюс на этом основании построить даже?
no subject
Date: 2016-11-08 10:19 pm (UTC)Мапредьюс строится для моноида, не для монады. Для монады... ну хотя бы траверсабл какой-то нужен.
no subject
Date: 2016-11-08 10:47 pm (UTC)хотя ... ну а почему бы и нет? думаю вот вобщем какой семантический смысл можно бы приписать колонке в колонке))
я бы впрочем дали бы мне волю сделал бы колонку типом-стрелкой key -> value где key - произвольный тип. тогда точно мап-редюс сделать в два счета
но на такое они конечно наверное не пойдут :)
вобщем наверное для начала (чтоб передоза у них не было сразу же) достаточно будет аппликативного функтора над long -> t :))
no subject
Date: 2016-11-08 10:51 pm (UTC)no subject
Date: 2016-11-08 10:53 pm (UTC)а уж если задуматься над семантикой groupBy то помоему становится очевидно - да вот же она, монада :) ладно. это наверное не всё так сразу нужно делать)) а то на измену выпадут)
no subject
Date: 2016-11-08 11:01 pm (UTC)но может конечно это и не совсем монада, я не спорю... но похожа)
no subject
Date: 2016-11-08 11:24 pm (UTC)