Skip to content

Ruby client for Apache Spark SQL and Apache Hive

License

Notifications You must be signed in to change notification settings

jeremyevans/hexspace

 
 

Repository files navigation

Hexspace

Ruby client for Apache Spark SQL and Apache Hive

Build Status

Installation

Add this line to your application’s Gemfile:

gem "hexspace"

Getting Started

Create a client

client = Hexspace::Client.new

Execute queries

client.execute("SELECT COUNT(*) FROM users")

Connection Options

There are a number of connection options available.

Hexspace::Client.new(
  host: "localhost",
  port: 10000,
  username: "user",
  password: "secret",
  database: "default",
  mode: :sasl,
  timeout: 10
)

Supported modes are :sasl, :nosasl, :http, and :https. Please create an issue if you need Kerberos.

The timeout is in seconds and only applies to :sasl and :nosasl.

Spark SQL Setup

Download Apache Spark and start the Thift server.

./sbin/start-thriftserver.sh

Hive Setup

Download Apache Hive and initialize the schema.

./bin/schematool -dbType derby -initSchema

Then start the HiveServer2.

./bin/hiveserver2

It can take a minute or two to be ready. To debug, pass --hiveconf hive.root.logger=DEBUG,console.

History

View the changelog

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

To get started with development:

git clone https://github.com/ankane/hexspace.git
cd hexspace
bundle install

# create a database
beeline -u jdbc:hive2://localhost:10000 -e 'CREATE DATABASE hexspace_test;'

# run the tests
bundle exec rake test

Resources

About

Ruby client for Apache Spark SQL and Apache Hive

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%