# 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.
[
https://prestodb.io/](
https://prestodb.io/)
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](
https://metacpan.org/pod/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 <
[email protected]>