Skip to content

combineads/presto-flex

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Presto Flex Connector Build Status

This is a presto connector to access local file (e.g. csv, tsv). Please keep in mind that this is not production ready and it was created for tests.

Query

You need to specify file type by schema name and use absolute path.

select
  * 
from 
 flex.csv."file:///tmp/numbers-2.csv"
;

select
  * 
from 
 flex.csv."https://raw.githubusercontent.com/ebyhr/presto-flex/master/src/test/resources/example-data/numbers-2.csv"
;

Supported schemas are below.

  • tsv
  • csv
  • txt
  • raw
  • excel

tsv plugin extract each line with \t delimiter. Currently first line is used as column names.

select * from flex.tsv."https://raw.githubusercontent.com/ebyhr/presto-flex/master/src/test/resources/example-data/numbers.tsv";
  one  | 1 
-------+---
 two   | 2 
 three | 3
(2 rows)

csv plugin extract each line with , delimiter. Currently first line is used as column names.

select * from flex.csv."https://raw.githubusercontent.com/ebyhr/presto-flex/master/src/test/resources/example-data/numbers-2.csv";
  ten   | 10 
--------+----
 eleven | 11 
 twelve | 12
(2 rows)

txt plugin doesn't extract each line. Currently column name is always value.

select * from flex.txt."https://raw.githubusercontent.com/ebyhr/presto-flex/master/src/test/resources/example-data/numbers.tsv";
 value  
--------
 one    1   
 two    2   
 three  3
(3 rows)

raw plugin doesn't extract each line. Currently column name is always data. This connector is similar to txt plugin. The main difference is txt plugin may return multiple rows, but raw plugin always return only one row.

select * from flex.raw."https://raw.githubusercontent.com/ebyhr/presto-flex/master/src/test/resources/example-data/numbers.tsv";
  data  
--------
 one    1   
 two    2   
 three  3 
(1 row)

excel plugin currently read first sheet.

select * from flex.excel."https://raw.githubusercontent.com/ebyhr/presto-flex/master/src/test/resources/example-data/sample.xlsx";
  data  
--------
 one    1   
 two    2   
 three  3 
(1 row)

Build

Run all the unit test classes.

mvn test

Creates a deployable jar file

mvn clean compile package

Copy jar files in target directory to use flex connector in your presto cluster.

cp -p target/*.jar ${PLUGIN_DIRECTORY}/flex/

About

Flexible connector for presto

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%