Book Image

Business Intelligence with Databricks SQL

By : Vihag Gupta
Book Image

Business Intelligence with Databricks SQL

By: Vihag Gupta

Overview of this book

In this new era of data platform system design, data lakes and data warehouses are giving way to the lakehouse – a new type of data platform system that aims to unify all data analytics into a single platform. Databricks, with its Databricks SQL product suite, is the hottest lakehouse platform out there, harnessing the power of Apache Spark™, Delta Lake, and other innovations to enable data warehousing capabilities on the lakehouse with data lake economics. This book is a comprehensive hands-on guide that helps you explore all the advanced features, use cases, and technology components of Databricks SQL. You’ll start with the lakehouse architecture fundamentals and understand how Databricks SQL fits into it. The book then shows you how to use the platform, from exploring data, executing queries, building reports, and using dashboards through to learning the administrative aspects of the lakehouse – data security, governance, and management of the computational power of the lakehouse. You’ll also delve into the core technology enablers of Databricks SQL – Delta Lake and Photon. Finally, you’ll get hands-on with advanced SQL commands for ingesting data and maintaining the lakehouse. By the end of this book, you’ll have mastered Databricks SQL and be able to deploy and deliver fast, scalable business intelligence on the lakehouse.
Table of Contents (21 chapters)
1
Part 1: Databricks SQL on the Lakehouse
9
Part 2: Internals of Databricks SQL
13
Part 3: Databricks SQL Commands
16
Part 4: TPC-DS, Experiments, and Frequently Asked Questions

Working with data security commands

We covered data security commands such as GRANT, REVOKE, and DENY (Hive Metastore only) in significant detail in Chapter 4, The Security Model. If you want to consult the official command reference for these commands, visit https://docs.databricks.com/sql/language-manual/index.html#security-statements. In this section, we will focus on an advanced bit of security programming and learn about row-level and column-level permissions in Databricks SQL.

Dynamic view functions

At the time of writing, Databricks SQL does not have table bindings for expressing row-level or column-level permissions for users and user groups. Instead, it uses the concept of views and dynamic view functions.

Databricks SQL exposes two dynamic view functions:

  • Current_user(): This returns the username of the user executing the query.
  • is_member(group_name): This returns a Boolean value indicating whether the current user is a member of the group.

For...