Quick Start

Sign Up

Visit the official website to sign up.

On the free trial page, sign up for a new account by filling in your basic information, Then choose your Cloud Provider and the Region.

Note: Cloud provider and Region CANNOT be changed after successful registration.


After signing up, you will receive an email to activate your ByteHouse account. In the email, ByteHouse will generate a login URL to initialize the password of the account.

Click the Login link and set/confirm password, then get started to explore the ByteHouse console.


Getting Started

In this tutorial, we'll perform a basic data analysis process by doing DB/Table creation, data loading, and SQL query.

At the same time, we can go through all the key functionalities and modules to have a basic understanding of ByteHouse.

Step 1. Log into ByteHouse

Input your Account Name, Region, Username and Password in the ByteHouse Login page.


Step 2. Create Objects in ByteHouse

Note: Before proceeding, check that the AccountAdmin Role is selected by clicking the avatar icon.


A database and a table are required before you can load data. In addition, loading and querying data requires a virtual warehouse, which could provide necessary compute resources to perform these tasks.

  • Create a Virtual Warehouse

On the Virtual Warehouse page, click [New] to create a new Virtual Warehouse, with the name and size, then click [OK] to finish creation.

  • Create a Database

On the Databases page, create the bh_test_${yourname} database using the Web UI:


You can also use CREATE DATABASE command in the query worksheet to create a database. Choose a running Virtual Warehouse before executing the following SQL statement.

create database bh_demo;
  • Create a Table

On the SQL Worksheet page, create a table named employment in bh_demo using the CREATE TABLE command.

CREATE TABLE bh_demo.employment (
  `first_name` Nullable(String),
  `last_name` String,
  `email` String,
  `address` String,
  `city` String,
  `start_date` String   -- currently the 'date' format has some restrictions

) ENGINE = CnchMergeTree()

ORDER BY `city`;

After creation, you can see the details of the table in the database module


Note: The number of columns in the table and their data types correspond to the fields in the sample CSV data files that you will be loading in the next step.

You could also try to create the table manually via Web UI on the Databases page:


Step 3. Load Data into the Target Table

Ad-Hoc Job

Download the employees.csv from this Link, and create a new import job by clicking [Import New Data]. Then choose Ad-hoc Job, drag your local file into the file import panel.


Select the [Has header] option, and get the source table schema by clicking [Analyse from File]. ByteHouse will automatically analyze the source table schema according to the local file. Click [Next] to proceed.

Note: Check that the Column Name and Type matches with the Target Table created in Step 2.


Choose the Target Table created in Step 2, and map the columns with the source schema. Bytehouse will attempt to match the Target Schema based on the Source Schema provided.


Input the job name as bh_demo_adhoc, and complete the job creation by clicking [Done].


You will be redirected to the Job details page and see the running status.

After the status is updated to success, you can check the data loading result on the Table detail page.

Connect New Datasource

You could also load data via connecting data sources

  • Click [Data Sources] in Data import module, then click [Connect New Source] to choose the data source type you'd like to use. For more details, please refer to Data Import.

Step 4. Query the Loaded Data

On the SQL Worksheet page, run the following SQL statements to query the loaded data.

Please make sure to select a running Virtual Warehouse before executing the SQL statement.

  • Query All Data
select * from bh.demo.employment
  • Insert Additional Rows of Data
insert into bh_demo.employment values
  ('Clementine','Adamou','[email protected]','10510 Sachs Road','Klenak','2017-9-22') ,
  ('Marlowe','De Anesy','[email protected]','36768 Northfield Plaza','Fangshan','2017-1-26');
  • Query Rows Based on Email Address
select email from bh_demo.employment where email like '%.uk';