[ 
https://issues.apache.org/jira/browse/PHOENIX-66?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13931284#comment-13931284
 ] 

Hudson commented on PHOENIX-66:
-------------------------------

SUCCESS: Integrated in Apache Phoenix - Branch:3.0 #4 (See 
[https://builds.apache.org/job/Phoenix-3.0/4/])
PHOENIX-66 Support array creation from CSV file (GabrielReid) (jamestaylor: rev 
aaf125f3529748727e87250e504ce12893a8eb78)
* 
phoenix-core/src/test/java/org/apache/phoenix/util/csv/StringToArrayConverterTest.java
* 
phoenix-core/src/test/java/org/apache/phoenix/end2end/CSVCommonsLoaderTest.java
* 
phoenix-core/src/main/java/org/apache/phoenix/util/csv/StringToArrayConverter.java
* 
phoenix-core/src/test/java/org/apache/phoenix/util/csv/CsvUpsertExecutorTest.java
* phoenix-core/src/main/java/org/apache/phoenix/util/PhoenixRuntime.java
* phoenix-pig/src/main/java/org/apache/phoenix/pig/PhoenixPigConfiguration.java
* 
phoenix-flume/src/main/java/org/apache/phoenix/flume/serializer/BaseEventSerializer.java
* phoenix-core/src/main/java/org/apache/phoenix/util/CSVCommonsLoader.java
* phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java
* phoenix-core/src/main/java/org/apache/phoenix/util/csv/CsvUpsertExecutor.java
* phoenix-core/src/test/java/org/apache/phoenix/util/QueryUtilTest.java


> Support array creation from CSV file
> ------------------------------------
>
>                 Key: PHOENIX-66
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-66
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: James Taylor
>             Fix For: 3.0.0
>
>         Attachments: PHOENIX-66-intermediate.patch, PHOENIX-66.2-patch, 
> PHOENIX-66.patch
>
>
> We should support being able to parse an array defined in our CVS file. 
> Perhaps something like this:
> a, b, c, [foo, 1, bar], d
> We'd know (from the data type of the column), that we have an array for the 
> fourth field here.
> One option to support this would be to implement the 
> PDataType.toObject(String) for the ARRAY PDataType enums. That's not ideal, 
> though, as we'd introduce a dependency from PDataType to our CSVLoader, since 
> we'd need to in turn parse each element. Also, we don't have a way to pass 
> through the custom delimiters that might be in use.
> Another pretty trivial, though a bit more constrained approach would be to 
> look at the column ARRAY_SIZE to control how many of the next CSV columns 
> should be used as array elements. In this approach, you wouldn't use the 
> square brackets at all. You can get the ARRAY_SIZE from the column metadata 
> through connection.getMetaData().getColumns() call, through 
> resultSet.getInt("ARRAY_SIZE"); However, the ARRAY_SIZE is optional in a DDL 
> statement, so we'd need to do something for the case where it's not specified.
> A third option would be to handle most of the parsing in the CSVLoader. We 
> could use the above bracket syntax, and then collect up the next set of CSV 
> field elements until we hit the unescaped ']'. Then we'd use our standard 
> JDBC APIs to build the array and continue on our merry way.
> What do you think, [~jviolettedsiq]? Or [~bruno], maybe you can take a crack 
> at it?



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to