NAME
Net::Presto - Presto client library for Perl
SYNOPSIS
use Net::Presto;
my $presto = Net::Presto->new(
server => 'localhost:8080',
catalog => 'hive',
schema => 'mydb',
user => 'scott',
source => 'myscript', # defaults to Net::Presto/$VERSION
time_zone => 'US/Pacific', # optional
language => 'English', # optional
);
# easy to use interfaces
my $rows = $presto->select_all('SELECT * FROM ...');
my $row = $presto->select_row('SELECT * FROM ... LIMIT 1');
my $col = $presto->select_one('SELECT COUNT(1) FROM ...');
$presto->do('CREATE TABLE ...');
# See Net::Presto::Statament for more details of low level interfaces
my $sth = $presto->execute('SELECT * FROM ...');
while (my $rows = $sth->fetch_hashref) {
for my $row (@$rows) {
$row->{column_name};
}
}
DESCRIPTION
Presto is a distributed SQL query engine for big data.
Net::Presto is a client library for Perl to run queries on Presto.
CONSTRUCTOR
Net::Presto->new(%options) :Net::Presto
Creates and return a new Net::Presto instance with options.
%options might be:
- server
-
address[:port] to a Presto coordinator
- catalog
-
Catalog (connector) name of Presto such as `hive-cdh4`, `hive-hadoop1`, etc.
- schema
-
Default schema name of Presto. You can read other schemas by qualified name like `FROM myschema.table1`.
- user
-
User name to connect to a Presto
- source
-
Source name to connect to a Presto. This name is shown on Presto web interface.
- time_zone
-
Time zone of the query. Time zone affects some functions such as `format_datetime`.
- language
-
Language of the query. Language affects some functions such as `format_datetime`.
- properties
-
Session properties.
METHODS
$presto->select_all($query) :ArrayRef[HashRef[Str]]
Shortcut for execute and fetchrow_hashref
$presto->select_row($query) :HashRef[Str]
Shortcut for execute and fetchrow_hashref->[0]
$presto->select_one($query) :Str
Shortcut for execute and fetch->[0]
$presto->do($query) :Int
Execute a single statement.
$presto->execute($query) :Net::Presto::Statement
Execute a statement and returns a Net::Presto::Statement object.
LICENSE
Copyright (C) Jiro Nishiguchi.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Jiro Nishiguchi <jiro@cpan.org>