You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/03/04 10:10:05 UTC
[jira] [Commented] (FLINK-1512) Add CsvReader for reading into
POJOs.
[ https://issues.apache.org/jira/browse/FLINK-1512?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14346626#comment-14346626 ]
ASF GitHub Bot commented on FLINK-1512:
---------------------------------------
Github user chiwanpark commented on a diff in the pull request:
https://github.com/apache/flink/pull/426#discussion_r25760453
--- Diff: flink-java/src/main/java/org/apache/flink/api/java/io/CsvInputFormat.java ---
@@ -235,8 +252,21 @@ public OUT readRecord(OUT reuse, byte[] bytes, int offset, int numBytes) throws
if (parseRecord(parsedValues, bytes, offset, numBytes)) {
// valid parse, map values into pact record
- for (int i = 0; i < parsedValues.length; i++) {
- reuse.setField(parsedValues[i], i);
+ if (pojoTypeInfo == null) {
+ Tuple result = (Tuple) reuse;
+ for (int i = 0; i < parsedValues.length; i++) {
+ result.setField(parsedValues[i], i);
+ }
+ } else {
+ for (int i = 0; i < parsedValues.length; i++) {
+ try {
+ pojoTypeInfo.getPojoFieldAt(i).field.set(reuse, parsedValues[i]);
--- End diff --
@rmetzger Thanks! I modify my implementation to set the fields accessible in `CsvInputFormat` and `ScalaCsvInputFormat` and add a test case with private fields.
> Add CsvReader for reading into POJOs.
> -------------------------------------
>
> Key: FLINK-1512
> URL: https://issues.apache.org/jira/browse/FLINK-1512
> Project: Flink
> Issue Type: New Feature
> Components: Java API, Scala API
> Reporter: Robert Metzger
> Assignee: Chiwan Park
> Priority: Minor
> Labels: starter
>
> Currently, the {{CsvReader}} supports only TupleXX types.
> It would be nice if users were also able to read into POJOs.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)