All Projects → ufukomer → Node Impala

ufukomer / Node Impala

Licence: mit
Node Client for Impala using Apache Thrift

Projects that are alternatives of or similar to Node Impala

Riffed
Provides idiomatic Elixir bindings for Apache Thrift
Stars: ✭ 290 (+866.67%)
Mutual labels:  thrift
Thrifty
Thrift for Android that saves you methods
Stars: ✭ 476 (+1486.67%)
Mutual labels:  thrift
Zys
high performance service framework based on Yaf or Swoole
Stars: ✭ 812 (+2606.67%)
Mutual labels:  thrift
Springboot Learning
基于Gradle构建,使用SpringBoot在各个场景的应用,包括集成消息中间件、前后端分离、数据库、缓存、分布式锁、分布式事务等
Stars: ✭ 340 (+1033.33%)
Mutual labels:  thrift
Thriftpy2
Pure python approach of Apache Thrift.
Stars: ✭ 402 (+1240%)
Mutual labels:  thrift
Cpp Serializers
Benchmark comparing various data serialization libraries (thrift, protobuf etc.) for C++
Stars: ✭ 533 (+1676.67%)
Mutual labels:  thrift
Armeria
Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
Stars: ✭ 3,392 (+11206.67%)
Mutual labels:  thrift
Rpc proxy
基于thrift的服务注册和发现框架
Stars: ✭ 13 (-56.67%)
Mutual labels:  thrift
Javaspringbootsamples
SpringBoot、Dubbo、SpringCloud的各种集成例子:Atomikos、gRPC、Thrift、Seata、ShardingSphere、Dubbo、Hmily、Nacos、Consul、Ribbon、Jedis、Lettuce、Redisson等框架
Stars: ✭ 399 (+1230%)
Mutual labels:  thrift
Scrooge
A Thrift parser/generator
Stars: ✭ 724 (+2313.33%)
Mutual labels:  thrift
Kyuubi
Kyuubi is a unified multi-tenant JDBC interface for large-scale data processing and analytics, built on top of Apache Spark
Stars: ✭ 363 (+1110%)
Mutual labels:  thrift
Viper
Viper 是一个基于Anno微服务引擎开发的Dashboard项目、示例项目。Anno 底层通讯采用 grpc、thrift。自带服务发现、调用链追踪、Cron 调度、限流、事件总线等等
Stars: ✭ 402 (+1240%)
Mutual labels:  thrift
Bender
An easy-to-use library for creating load testing applications
Stars: ✭ 583 (+1843.33%)
Mutual labels:  thrift
Gosercomp
⚡️ Golang Serializer Benchmark Comparison
Stars: ✭ 300 (+900%)
Mutual labels:  thrift
Node Thrift2 Hbase
An HBase thrift wrapper for Node.js
Stars: ✭ 18 (-40%)
Mutual labels:  thrift
Elves
开源自动化运维开发平台(IT Automatic Develop Platform)
Stars: ✭ 290 (+866.67%)
Mutual labels:  thrift
Srpc
RPC based on C++ Workflow
Stars: ✭ 521 (+1636.67%)
Mutual labels:  thrift
Pucket
Bucketing and partitioning system for Parquet
Stars: ✭ 29 (-3.33%)
Mutual labels:  thrift
Impala Java Client
Java client to connect directly to Impala using thrift
Stars: ✭ 26 (-13.33%)
Mutual labels:  thrift
Jboot
一个优雅的微服务框架,SpringCloud 之外的另一个选择,已经使用在用户量过亿的商业产品上,有超过1000家公司在使用Jboot做极速开发...
Stars: ✭ 655 (+2083.33%)
Mutual labels:  thrift

node-impala Build Status

Node client for Impala

Install

$ npm install --save node-impala

Usage

See the issue before using this module.

import { createClient } from 'node-impala';

const client = createClient();

client.connect({
  host: '127.0.0.1',
  port: 21000,
  resultType: 'json-array'
});

client.query('SELECT column_name FROM table_name')
  .then(result => console.log(result))
  .catch(err => console.error(err))
  .done(() => client.close().catch(err => console.error(err)));

Example

Bloomery: Web UI for Impala and uses this client to execute queries.

Options

host

Type: string
Default: '127.0.0.1'

If you are connecting Thrift Server remotely, such as connecting Cloudera from your host machine instead virtual machine, it corresponds to inet address of virtual machine that you can learn using ifconfig command in terminal. Otherwise, you should leave it as its default if you are connecting from virtual machine.

port

Type: number
Default: 21000

Default value corresponds to Impala Daemon Frontend Port which is used to transmit commands and receive results by Beeswax.

resultType

Type: string
Default: null

Returns result of query according to the given type.

Available variables:

  • json-array returns json array
  • map maps columns to rows
  • boolean returns true if query is successful
  • null returns results of query and table schemas as an array

timeout

Type: number
Default: 1000

Timeout value for closing transport after process finished.

API

createClient()

Creates client that uses BeeswaxService.

const client = createClient();

client.connect(props, callback)

Creates connection using given props.

client.connect({ resultType: 'boolean' })
  .then(message => console.log(message))
  .catch(error => console.error(error));

client.close(callback)

Closes the current connection.

client.close().catch((err) => console.error(err));

client.explain(sql, callback)

Gets the query plan for a query.

client.explain(sql)
  .then(explanation => console.log(explanation))
  .catch(err => console.error(err));

client.getResultsMetadata(sql, callback)

Gets the result metadata.

client.getResultsMetadata(sql)
  .then(metaData => console.log(metaData))
  .catch(err => console.error(err));

client.query(sql, callback)

Transmits SQL command and receives result via Beeswax Service asynchronously. Fetch size is fixed as 1024, namely, it returns the maximum 1024 results of a query.

client.query(sql)
  .then(results => console.log(results))
  .catch(err => console.error(err));

Versions

1.x.x and 2.x.x uses Impala chd5-2.1_5.3.0

License

MIT © Ömer Ufuk Efendioğlu

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].