Записать нулевое значение в файл Parquet

Вот несколько обсуждений , которые я имел ранее в этой теме.

Я сделал интерфейс Result по рассуждениям. A Result является либо успешным со значением типа T, либо неудачей с Исключением. Это подтип Async , как немедленное завершение асинхронного действия, но это не важно здесь.

Чтобы создать результат -

Result.success( value )
Result.failure( exception )
Result.call( callable )

Результат может быть преобразован различными способами - transform, map, then, peek, catch_, finally_ и т. д. Например

Async rInt = Result.success( s )
      .map( Integer::parseInt )
      .peek( System.out::println )
      .catch_( NumberFormatException.class, ex->42 ) // default
      .catch_( Exception.class, ex-> { ex.printStacktrace(); throw ex; } )
      .finally_( ()->{...} )

К сожалению, API фокусируется на Async, поэтому некоторые методы возвращают Async. Некоторые из них могут быть переопределены Результатом, чтобы вернуть результат; но некоторые не могут, например. then() (это плоская карта). Однако, если интересно, легко извлечь автономный API результатов, который не имеет никакого отношения к Async.

0
задан Ivy.W 13 July 2018 в 21:46
поделиться