Skip to content

joelgarciajr84/presto-ts

Repository files navigation

Presto TS!

presto typescript

Description

presto-ts is a npm Typescript lib that enable projects to interact with the SQL Query engine PrestoDB

npm install --save presto-ts

Examples

Running:

import { Presto, PrestoQueryParams, PrestoResponse } from  "presto-ts";

const prestoStatusUpdate  = (prestoNotification:  PrestoResponse):  PrestoResponse  => {

	console.log("NEW PRESTO QUERY STATUS")
	console.log(prestoNotification)
	return  prestoNotification;

}

const errorPresto  = (error:  Error) => {
	console.error(error)
	return  error
}

const  requestParams:  PrestoQueryParams  = {
	query:  'SELECT * FROM pedidos',
	catalog:  'mysqldb',
	schema:  'clientes',
	source:  'test-presto',
	user:  'root',
	password:'xxx',
	host:  'localhost',
	port:  8080,
	isBasicAuth:true,
	checkStatusInterval:  1000,
	updatesNotification:  prestoStatusUpdate,
	errorNotification:  errorPresto

}

const  goPresto  =  new  Presto (requestParams).go()

Presto Results

Every new status from the running query will be send to your updatesNotification function, and for erros the notifications will be send to errorNotification callback function

{
  id: '20210206_100029_00169_jcatp',
  infoUri: 'http://localhost:8080/ui/query.html?20210206_100029_00169_jcatp',
  columns: [
    { name: 'id', type: 'integer', typeSignature: [Object] },
    { name: 'total', type: 'bigint', typeSignature: [Object] }
  ],
  stats: {
    state: 'FINISHED',
    queued: false,
    scheduled: true,
    nodes: 1,
    totalSplits: 17,
    queuedSplits: 0,
    runningSplits: 0,
    completedSplits: 17,
    cpuTimeMillis: 15,
    wallTimeMillis: 29,
    queuedTimeMillis: 5,
    elapsedTimeMillis: 1041,
    processedRows: 2,
    processedBytes: 0,
    peakMemoryBytes: 0,
    peakTotalMemoryBytes: 0,
    peakTaskTotalMemoryBytes: 0,
    spilledBytes: 0,
    rootStage: {
      stageId: '0',
      state: 'FINISHED',
      done: true,
      nodes: 1,
      totalSplits: 16,
      queuedSplits: 0,
      runningSplits: 0,
      completedSplits: 16,
      cpuTimeMillis: 1,
      wallTimeMillis: 2,
      processedRows: 2,
      processedBytes: 65,
      subStages: [Array]
    },
    progressPercentage: 100
  },
  warnings: []
}

About PrestoDB

Distributed SQL Query Engine for Big Data

Presto DB

About

Typescript library to work it Presto DB

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published