Introducing Beeswax

The Beeswax application enables you to perform queries on Apache Hive, a data warehousing system designed to work with Hadoop. For information about Hive, see Hive Documentation. You can create, run, and manage queries, and download the results in a Microsoft Office Excel worksheet file or a comma-separated values file.

Contents


Beeswax and Hive Installation and Configuration

Beeswax is installed and configured as part of Hue. For information about installing and configuring Hue, see Hue Installation.

Beeswax assumes an existing Hive installation. The Hue installation instructions include the configuration necessary for Beeswax to access Hive. You can view the current Hive configuration from from the Settings tab in the Beeswax application.

By default, a Beeswax user can see the saved queries for all users – both his/her own queries and those of other Beeswax users. To restrict viewing saved queries to the query owner and Hue administrators, set the share_saved_queries property under the [beeswax] section in the Hue configuration file to false.

Starting Beeswax

To start the Beeswax application, click the Beeswax icon () in the navigation bar at the top of the Hue browser page.

Working with Queries

The Query Editor view lets you create queries in the Hive Query Language (HQL), which is similar to Structured Query Language (SQL). You can name and save your queries to use later. When you submit a query, the Beeswax Server uses Hive to run the queries. You can either wait for the query to complete, or return later to find the queries in the History view. You can also request receive an email message after the query is completed.

Creating and Running Queries

Note
To run a query, you must be logged in to Hue as a user that also has a Unix user account on the remote server.

To create and run a query:

  1. In the Query Editor window, type the query. For example, to select all data from the sample_08 table, you would type:
    SELECT * FROM sample_08
  2. In the box to the left of the Query field, you can override the default Hive and Hadoop settings, specify file resources and user-defined functions, and enable users to enter parameters at run-time, and request email notification when the job is complete. See Advanced Query Settings for details on using these settings.

  3. To save your query and advanced settings to use again later, click Save As, enter a name and description, and then click OK. To save changes to an existing query, click Save.

  4. If you want to view the execution plan for the query, click Explain. For more information, see http://wiki.apache.org/hadoop/Hive/LanguageManual/Explain.

  5. To run the query, click Execute.

    The Query Results window displays with the results of the query.

  6. Do any of the following to download or save the query results:

Advanced Query Settings

The pane to the left of the Query Editor lets you specify the following options:

Option Description
DATABASE The database containing the table definitions.
SETTINGS Override the Hive and Hadoop default settings. Click Add to configure a new setting.
»   For Key, enter a Hive or Hadoop configuration variable name.
»   For Value, enter the value you want to use for the variable.

For example, to override the directory where structured Hive query logs are created, you would enter hive.querylog.location for Key, and a path for Value.

To view the default settings, click the Settings tab at the top of the page.

For information about Hive configuration variables, see: http://wiki.apache.org/hadoop/Hive/AdminManual/Configuration. For information about Hadoop configuration variables, see: http://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
FILE RESOURCES Make locally accessible files available at query execution time on the entire Hadoop cluster. Hive uses Hadoop's Distributed Cache to distribute the added files to all machines in the cluster at query execution time.

Click Add to configure a new setting.

From the Type drop-down menu, choose one of the following:

jar — Adds the resources to the Java classpath. This is required in order to reference objects such as user defined functions.

archive — Automatically unarchives resources when distributing them.

file — Adds resources to the distributed cache. Typically, this might be a transform script (or similar) to be executed.

For Path, enter the path to the file or click Choose a File to browse and select the file. 

It is not necessary to specify files used in a transform script if the files are available in the same path on all machines in the Hadoop cluster.

USER-DEFINED FUNCTIONS Specify user-defined functions in a query. Specify the function name for Name, and specify the class name for Class name.
Click Add to configure a new setting.

You must specify a JAR file for the user-defined functions in File Resources. To include a user-defined function in a query, add a $ (dollar sign) before the function name in the query. For example, if MyTable is a user-defined function name in the query, you would type: SELECT * $MyTable
PARAMETERIZATION Indicate that a dialog box should display to enter parameter values when a query containing the string $<parametername> is executed. Enabled by default.
EMAIL NOTIFICATION Indicate that an email message should be sent after a query completes. The email is sent to the email address specified in the logged-in user's profile.


Viewing Query History

Beeswax enables you to view the history of queries that you have previously run. Results for these queries are available for one week or until Hue is restarted.

To view query history:

  1. In the Beeswax window, click History.

    Beeswax displays a list of your saved and unsaved queries in the Query History window.

  2. To display the queries for all users, click Show everyone's queries. To display your queries only, click Show my queries.

  3. To display the automatically generated actions that Beeswax performed on a user's behalf, click Show auto actions. To display user queries again, click Show user queries.

Viewing, Editing, or Deleting Saved Queries

You can view a list of saved queries of all users by clicking Saved Queries in the Beeswax window. You can copy any user's query, but you can only edit, delete, and view the history of your own queries.

To edit a saved query:

  1. In the Beeswax window, click Saved Queries.

    The Queries window displays.

  2. Click the Options button next to the query and choose Edit from the context menu.

    The query displays in the Query Editor window.

  3. Change the query and then click Save. You can also click Save As, enter a new name, and click OK to save a copy of the query.

To delete a saved query:

  1. In the Beeswax window, click Saved Queries.

    The Queries window displays.

  2. Click the Options button next to the query and choose Delete from the context menu.
  3. Click Yes to confirm the deletion.

To copy a saved query:

  1. In the Beeswax window, click Saved Queries.

    The Queries window displays.

  2. Click the Options button next to the query and choose Clone from the context menu.

    Beeswax displays the query in the Query Editor window.

  3. Change the query as necessary and then click Save. You can also click Save As, enter a new name, and click Ok to save a copy of the query.

To copy a query in the Beeswax Query History window:

  1. In the Beeswax window, click History.

    The Query History window displays.

  2. To display the queries for all users, click Show everyone's queries.

    The queries for all users display in the Query History window.

  3. Click the Clone link next to the query you want to copy.

    A copy of the query displays in the Query Editor window.

  4. Change the query, if necessary, and then click Save As, enter a new name, and click OK to save the query.