Databricks sql warehouse api=. Jun 29, 2022 · Databricks SQL connectors: connect f...

Creates the view only if it does not exist. If a view

This is a SQL command reference for Databricks SQL and Databricks Runtime. For information about using SQL with Delta Live Tables, see Delta Live Tables SQL language reference. In this article: General reference. DDL statements. DML statements. Data retrieval statements. Delta Lake statements. Auxiliary statements.you need to have a cluster running all the time. Sql serverless spins up fast, but it takes several seconds nonetheless which can be too long of a wait for a web app. calculate the cost. It might be cheaper to run a classic RDBMS. think about optimizations that might be necessary for your app (indexing mainly) that are not always possible in ...Jun 7, 2023 · Login to your Databricks SQL workspace as a workspace administrator. Select the asset you wish to transfer ownership of. Click on the “Share” button in the top right corner. In the share modal, click on the gear icon and click “Assign new owner”. In the next modal, select the user you wish to assign ownership to and click “Confirm”.You can pass parameters/arguments to your SQL statements by programmatically creating the SQL string using Scala/Python and pass it to sqlContext.sql (string). Here's an example using String formatting in Scala: val param = 100.Oct 13, 2023 · Today, we are excited to announce the general availability of the Databricks SQL Statement Execution API on AWS and Azure, with support for GCP expected to be in Public Preview early next year. You can use the API to connect to your Databricks SQL warehouse over a REST API to access and manipulate data managed by the Databricks Lakehouse ... Dec 6, 2023 · 仓库类型的默认设置是什么? 对于支持无服务器 SQL 仓库并满足要求的区域中的工作区: 使用 UI 时,默认的 SQL 仓库类型为无服务器。 将 SQL 仓库 API 与默认参数结合使用时,默认 SQL 仓库类型为经典。 若要使用无服务器,请将 enable_serverless_compute 参数设置为 true,并将 warehouse_type 设置为 pro。The Databricks SQL Connector for Python is a Python library that allows you to use Python code to run SQL commands on Databricks clusters and Databricks SQL warehouses. The Databricks SQL Connector for Python is easier to set up and use than similar Python libraries such as pyodbc. This library follows PEP 249 – Python Database API ... Databricks SQL Statement Execution API Go to solution. RamozanbekS. New Contributor III Options. Mark as New; Bookmark; Subscribe; Mute; Subscribe to RSS Feed; Permalink; ... How can I configure my queries or my sql warehouse so that my queries have at some time to be downloaded? 0 Kudos Reply. All forum topics; Previous …Apr 20, 2023 · npm i @databricks / sql Setting up connection. The connector works with SQL warehouses and All Purpose Clusters. This example shows you how to connect to and run a query on a SQL Warehouse. We import the connector and pass in connection and authentication information to establish a connection. You can authenticate using a …Dec 13, 2023 · Use Databricks SQL in an Azure Databricks job. Next, use the SQL task type in an Azure Databricks job, allowing you to create, schedule, operate, and monitor workflows that include Databricks SQL objects such as queries, dashboards, and alerts. See Tutorial: Use Databricks SQL in a Databricks job. Use Databricks SQL with a notebook. You can ...May 30, 2023 · I use the rest api for other things. So, basically for a warehouse id, you need to pass on the entire array of users who would have access. So, if there were 3 users with permissions and you need to revoke access for one, the array object (access_control_list in the api definition), that needs to be passed will have access defined for 2 users ... A SQL warehouse is a compute resource that lets you run SQL commands on data objects within Databricks SQL. Compute resources are infrastructure resources that provide processing capabilities in the cloud. Your SQL warehouse connects you to the compute and data that you use to run your SQL queries. For information on creating SQL warehouses ... Jan 17, 2024 · An Azure Databricks cluster or Databricks SQL warehouse. Connect Power BI Desktop to Azure Databricks using Partner Connect. You can use Partner Connect to connect to a cluster or SQL warehouse from Power BI Desktop in just a few clicks. Make sure your Azure Databricks account, workspace, and the signed-in user meet the requirements for Partner ... Jan 12, 2024 · This tutorial shows how to use the Databricks SQL Statement Execution API 2.0 to run SQL statements from Databricks SQL warehouses.. To view the Databricks SQL Statement Execution API 2.0 reference, see Statement Execution. A SQL warehouse is a compute resource that lets you run SQL commands on data objects within Databricks SQL. Compute resources are infrastructure resources that provide …Jun 1, 2023 · To speed up running the code, start the SQL warehouse that corresponds to the Host(s) value in the Simba Spark ODBC Driver DSN Setup dialog box for your Databricks SQL warehouse. Run the pyodbc-test-warehouse.py file with your Python interpreter. The first two rows of the database table are displayed.2 days ago · December 13, 2023. Databricks SQL alerts periodically run queries, evaluate defined conditions, and send notifications if a condition is met. You can set up alerts to monitor your business and send notifications when reported data falls outside of expected limits. Scheduling an alert executes its underlying query and checks the alert criteria.Oct 17, 2023 · Solved: Hello, I created a sql warehouse (cluster size = 2X-Small) and I wanted to use it to execute a query using the sql query api: - url : - 49387If omitted, the default is false for most workspaces. However, if this workspace used the SQL Warehouses API to create a warehouse between November 1, 2022 and May 19, 2023, the default remains the previous behavior which is default to true if the workspace is enabled for serverless and fits the requirements for serverless SQL warehouses.The ai_generate_text () function is a built-in Databricks SQL function that allows you to access large language models (LLMs) directly from SQL. This function currently supports access to OpenAI and Azure OpenAI models, and enables customers to use them as building blocks in data pipelines and machine learning workloads.3 days ago · This section describes concepts that you need to know when you manage Databricks SQL users and groups and their access to assets. User and group: A user is a unique individual who has access to the system. A group is a collection of users. Personal access token: An opaque string is used to authenticate to the REST API and by tools in …3 days ago · Workspace admins can create serverless SQL warehouses that enable instant compute and are managed by Databricks. Serverless SQL warehouses use compute clusters in your Databricks account. Use them with Databricks SQL queries just like you normally would with customer-hosted SQL warehouses (classic and pro SQL warehouses).3 days ago · To view the history of all executions of a query: Click Query History in the sidebar. Optionally, click Duration to sort the list by duration. By default, the list is sorted by start time. Click the name of a query to see more details, such as the SQL command and the execution details. You can filter the list by user, date range, SQL warehouse ...Jun 28, 2023 · Everything can be done entirely in SQL, streamlining the workflow. By leveraging materialized views and streaming tables, you can: Empower your analysts: SQL and data analysts can easily ingest, clean, and enrich data to quickly meet the needs of your business. Because everything can be done entirely in SQL, no 3rd party tools are needed.On the other hand, Databricks clusters are ideal for data engineers and data scientists who require flexibility, scalability, and the ability to run a wide range of workloads beyond SQL queries. The choice between SQL Analytics and Databricks clusters depends on your team's roles, the nature of your workloads, and your organization's specific ...We are restrained from accessing the Databricks workspace, so we cannot author Databricks notebook to access the sql endpoint. However, we only have read level access to the Databricks sql tables, so we are using odbc connector to setup the linked service in ADF. Any help is truly appreciated. Thanks.Schedule automatic dashboard refreshes. You can schedule the dashboard to automatically refresh at an interval. At the top of the page, click Schedule.. Click Add schedule.. Select an interval, such as Every 1 hour at 5 minutes past the hour.. Click More options to modify the default schedule name and to specify a SQL warehouse. A SQL warehouse is a …The ai_generate_text () function is a built-in Databricks SQL function that allows you to access large language models (LLMs) directly from SQL. This function currently supports access to OpenAI and Azure OpenAI models, and enables customers to use them as building blocks in data pipelines and machine learning workloads.A SQL warehouse is a compute resource that lets you run SQL commands on data objects within Databricks SQL. Compute resources are infrastructure resources that provide processing capabilities in the cloud. Your SQL warehouse connects you to the compute and data that you use to run your SQL queries. Dec 6, 2023 · SQL 仓库是一种计算资源,支持对 Databricks SQL 中的数据对象运行 SQL 命令。 计算资源是在云中提供处理功能的基础结构资源。 SQL 仓库会将你连接到用于运 …To use the Databricks SQL Driver for Node.js with Databricks personal access token authentication, you must first create a Databricks personal access token, as follows: In your Databricks workspace, click your Databricks username in the top bar, and then select User Settings from the drop down. Click Developer. Next to Access tokens, click Manage. 3 days ago · SQL endpoint name change: Databricks changed the name from SQL endpoint to SQL warehouse because it is more than just an API entry point for running SQL commands. A SQL warehouse is a computation resource for all your data warehousing needs, an integral part of the Databricks platform.Jan 12, 2024 · To create an Azure Databricks personal access token, do the following: In your Azure Databricks workspace, click your Azure Databricks username in the top bar, and then select User Settings from the drop down.; Click Developer.; Next to Access tokens, click Manage.; Click Generate new token. (Optional) Enter a comment that helps you to …Jan 12, 2024 · To create an Azure Databricks personal access token, do the following: In your Azure Databricks workspace, click your Azure Databricks username in the top bar, and then select User Settings from the drop down.; Click Developer.; Next to Access tokens, click Manage.; Click Generate new token. (Optional) Enter a comment that helps you to …However, if this workspace used the SQL Warehouses API to create a warehouse between September 1, 2022 and April 30, 2023, ... databricks_sql_access on databricks_group or databricks_user. \n \n Timeouts \n. The timeouts block allows you to specify create timeouts. It usually takes 10-20 minutes to provision a Databricks SQL warehouse.To view the Databricks SQL Statement Execution API 2.0 reference, see Statement Execution. In this article: Before you begin. Step 1: Execute a SQL statement and save the data result as JSON. Step 2: Get a statement’s current execution status and data result as JSON. Step 3: Fetch large results using external links. Jan 12, 2024 · To create an Azure Databricks personal access token, do the following: In your Azure Databricks workspace, click your Azure Databricks username in the top bar, and then select User Settings from the drop down.; Click Developer.; Next to Access tokens, click Manage.; Click Generate new token. (Optional) Enter a comment that helps you to …SDK reference documentation. Databricks SDK for Python. Databricks SDK for R. Databricks SDK for Java. Databricks SDK for Go. Reference documentation for Databricks APIs, SQL language, command-line interfaces, and more. Databricks reference docs cover tasks from automation to data queries.May 4, 2023 · In Databricks SQL, caching can significantly speed up query execution and minimize warehouse usage, resulting in lower costs and more efficient resource utilization. This article will explore the benefits of caching and delve into DBSQL's three types of caching: User Interface Cache, Result Cache (Local and Remote), and Disk Cache (formerly ... 4 days ago · A serverless SQL warehouse uses compute clusters hosted in the Databricks customer account. Use them with Databricks SQL queries just like you usually would with the original Databricks SQL warehouses. Serverless compute comes with a very fast starting time for SQL warehouses (10s and below), and the infrastructure is managed by Databricks.Dec 15, 2023 · Databricks SQL is not available in Azure Government regions. Databricks SQL is the collection of services that bring data warehousing capabilities and performance to your existing data lakes. Databricks SQL supports open formats and standard ANSI SQL. An in-platform SQL editor and dashboarding tools allow team members to collaborate with other ... Jun 28, 2023 · Everything can be done entirely in SQL, streamlining the workflow. By leveraging materialized views and streaming tables, you can: Empower your analysts: SQL and data analysts can easily ingest, clean, and enrich data to quickly meet the needs of your business. Because everything can be done entirely in SQL, no 3rd party tools are needed.A query execution is cancelled from the SQL editor UI. This does not include cancellations that originate from the Query History UI or Databricks SQL Execution API. * queryExecutionId: databrickssql: changeWarehouseAcls: A warehouse manager updates permissions on a SQL warehouse. * aclPermissionSet * resourceId * shardName * …Jan 17, 2024 · An Azure Databricks cluster or Databricks SQL warehouse. Connect Power BI Desktop to Azure Databricks using Partner Connect. You can use Partner Connect to connect to a cluster or SQL warehouse from Power BI Desktop in just a few clicks. Make sure your Azure Databricks account, workspace, and the signed-in user meet the requirements for Partner ... A SQL warehouse is a compute resource that lets you run SQL commands on data objects within Databricks SQL. Compute resources are infrastructure resources that provide …Dec 7, 2022 · Just query the interactive spark cluster that you leave up. I have not used the new SQL Data Warehouse version of Databricks. But I am sure there is something similar. Right now (November 2022nd) there is no public REST API to perform query on the SQL Warehouse, but it's in the roadmap. But you can write a small wrapper either around JDBC/ODBC ... May 2, 2023 · I can see on Databricks SQL warehouse Data tab that clusters, catalogs and schemas have a unique ID. User created tables, views and functions must have and unique ID too, but it is not exposed to the user as far as I can tell. ... However, you can get object_id from the unity catalog API. To do so, you can use the GET /preview endpoint of the ...To use the Databricks SQL Driver for Node.js with Databricks personal access token authentication, you must first create a Databricks personal access token, as follows: In your Databricks workspace, click your Databricks username in the top bar, and then select User Settings from the drop down. Click Developer. Next to Access tokens, click Manage. Mar 27, 2023 · Click on the "Add" button and select "Service Principal". Enter the client ID and client secret that you created in Azure AD when you registered your app. Select the appropriate Azure Databricks workspace and click "Create". After following these steps, you should be able to connect Power BI service to Databricks SQL Warehouse using the …Jun 29, 2022 · Databricks SQL connectors: connect from anywhere and build data apps powered by your lakehouse. Since its GA earlier this year, the Databricks SQL Connector for Python has seen tremendous adoption from our developer community, averaging over 1 million downloads a month. We are excited to announce that the connector is now …Databricks provides API documentation for the workspace and the account. CLI. An open source project hosted on GitHub. ... Query: A valid SQL statement. SQL warehouse: A computation resource on which you execute SQL queries. Query history: A list of executed queries and their performance characteristics.This resource manages data object access control lists in Databricks workspaces for things like tables, views, databases, and more.In order to enable Table Access control, you have to login to the workspace as administrator, go to Admin Console, pick Access Control tab, click on Enable button in Table Access Control section, and click Confirm.The security …If omitted, the default is false for most workspaces. However, if this workspace used the SQL Warehouses API to create a warehouse between September 1, 2022 and April 30, 2023, the default remains the previous behavior which is default to true if the workspace is enabled for serverless and fits the requirements for serverless SQL warehouses. Aug 11, 2023 · At this year's Data+AI Summit, Databricks SQL continued to push the boundaries of what a data warehouse can be, leveraging AI across the entire product surface to extend our leadership in performance and efficiency, while still simplifying the experience and unlocking new opportunities for our customers. In parallel, we continue to …Use SQL warehouse for SQL workloads. For interactive SQL workloads, a Databricks SQL warehouse is the most cost-efficient engine. See the pricing overview.. Use up-to-date runtimes for your workloads. The Azure Databricks platform provides different runtimes that are optimized for data engineering tasks (Databricks Runtime) or …Jan 19, 2024 · Advanced options. Configure the following advanced options by expanding the Advanced options area when you create a new SQL warehouse or edit an existing SQL warehouse. You can also configure these options using the SQL Warehouse API.. Tags: Tags allow you to monitor the cost of cloud resources used by users and groups in your …Configures whether the warehouse should use serverless compute. Databricks strongly recommends that you always explicitly set this field. If this value is true explicitly or through the default, you must also set warehouse_type field to pro (the default if this field is true ). If omitted, the default is false for most workspaces. Jun 29, 2022 · Databricks SQL connectors: connect from anywhere and build data apps powered by your lakehouse. Since its GA earlier this year, the Databricks SQL Connector for Python has seen tremendous adoption from our developer community, averaging over 1 million downloads a month. We are excited to announce that the connector is now …We are restrained from accessing the Databricks workspace, so we cannot author Databricks notebook to access the sql endpoint. However, we only have read level access to the Databricks sql tables, so we are using odbc connector to setup the linked service in ADF. Any help is truly appreciated. Thanks.Use SQL warehouse for SQL workloads. For interactive SQL workloads, a Databricks SQL warehouse is the most cost-efficient engine. See the pricing overview.. Use up-to-date runtimes for your workloads. The Azure Databricks platform provides different runtimes that are optimized for data engineering tasks (Databricks Runtime) or …Aug 10, 2023 · Create a SQL warehouse. You can create warehouses using the SQL Warehouses page in the web UI, using the SQL Warehouse API, or Terraform. The …May 4, 2023 · In Databricks SQL, caching can significantly speed up query execution and minimize warehouse usage, resulting in lower costs and more efficient resource utilization. This article will explore the benefits of caching and delve into DBSQL's three types of caching: User Interface Cache, Result Cache (Local and Remote), and Disk Cache (formerly ... Our customers asked us to simplify their data architecture. We introduced Databricks SQL to provide data warehousing capabilities and first class support for SQL on the Databricks Lakehouse Platform. Using open standards, Databricks SQL provides up to 12x better price/performance for data warehousing and analytics workloads on existing …The string name of this data source / SQL warehouse as it appears in the Databricks SQL web application. type string. The type of data source. For SQL warehouses, this will be databricks_internal. warehouse_id string. The ID of the associated SQL warehouse, if this data source is backed by a SQL warehouse. syntax string.To use the Databricks SQL Driver for Node.js with Databricks personal access token authentication, you must first create a Databricks personal access token, as follows: In your Databricks workspace, click your Databricks username in the top bar, and then select User Settings from the drop down. Click Developer. Next to Access tokens, click Manage. Jun 28, 2023 · Everything can be done entirely in SQL, streamlining the workflow. By leveraging materialized views and streaming tables, you can: Empower your analysts: SQL and data analysts can easily ingest, clean, and enrich data to quickly meet the needs of your business. Because everything can be done entirely in SQL, no 3rd party tools are needed.2 days ago · Databricks SQL is the collection of services that bring data warehousing capabilities and performance to your existing data lakes. Databricks SQL supports open formats and standard ANSI SQL. An in-platform SQL editor and dashboarding tools allow team members to collaborate with other Databricks users directly in the workspace.Dec 15, 2023 · Databricks SQL is not available in Azure Government regions. Databricks SQL is the collection of services that bring data warehousing capabilities and performance to your existing data lakes. Databricks SQL supports open formats and standard ANSI SQL. An in-platform SQL editor and dashboarding tools allow team members to collaborate …Dec 5, 2023 · A serverless SQL warehouse uses compute clusters hosted in the Azure Databricks customer account. Use them with Databricks SQL queries just like you usually would with the original Databricks SQL warehouses. Serverless compute comes with a very fast starting time for SQL warehouses (10s and below), and the infrastructure is managed by Databricks. Jan 10, 2024 · Workspace admins can create serverless SQL warehouses that enable instant compute and are managed by Azure Databricks. Serverless SQL warehouses use compute clusters in your Azure Databricks account. Use them with Databricks SQL queries just like you normally would with customer-hosted SQL warehouses (classic and pro SQL warehouses). Databricks SQL Statement Execution API Go to solution. RamozanbekS. New Contributor III Options. Mark as New; Bookmark; Subscribe; Mute; Subscribe to RSS Feed; Permalink; ... How can I configure my queries or my sql warehouse so that my queries have at some time to be downloaded? 0 Kudos Reply. All forum topics; Previous …3 days ago · To use the Databricks SQL Driver for Node.js with Databricks personal access token authentication, you must first create a Databricks personal access token, as follows: In your Databricks workspace, click your Databricks username in the top bar, and then select User Settings from the drop down. Click Developer. Next to Access tokens, click Manage.Jul 11, 2023 · See Transfer ownership of Databricks SQL objects. If a warehouse doesn’t have a valid owner (for example, the previous owner left the company), the SQL warehouse is unusable until a workspace admin takes this action to transfer the ownership to a new owner. ... To manage SQL warehouse permissions using the API, invoke methods on the …Dec 18, 2023 · You can access Azure Synapse from Azure Databricks using the Azure Synapse connector, which uses the COPY statement in Azure Synapse to transfer large volumes of data efficiently between an Azure Databricks cluster and an Azure Synapse instance using an Azure Data Lake Storage Gen2 storage account for temporary staging. Note. SQL WarehousesTerraform. A SQL warehouse is a compute resource that lets you run SQL commands on data objects within Databricks SQL. Compute resources are infrastructure resources that provide processing capabilities in the cloud. Statement Execution / Cancel statement execution. SQL Warehouses / Get SQL warehouse permissions. Step 7: Query table from Databricks SQL. Anyone with the USE CATALOG permission on the current catalog, the USE SCHEMA permission on the current schema, and SELECT permissions on the table can query the contents of the table from their preferred Databricks API. You need access to a running SQL warehouse to execute queries in Databricks …Aug 28, 2022 · APIを用いてSQLエンドポイントを操作するには、SQLエンドポイントAPIを参照ください。 始める前に. 最初のSQLウェアハウスを作成する際、New SQL Warehouseページに表示されるデフォルトを使用することをお勧めします。しかし、ご自身の要件に合わせて設定を ... To use the Databricks SQL Driver for Node.js with Databricks personal access token authentication, you must first create a Databricks personal access token, as follows: In your Databricks workspace, click your Databricks username in the top bar, and then select User Settings from the drop down. Click Developer. Next to Access tokens, click Manage. 5 days ago · You will also learn how to convert existing classic warehouses into serverless warehouses. You can also create SQL warehouses using the SQL warehouse API, or …3 days ago · A SQL warehouse is a compute resource that lets you run SQL commands on data objects within Databricks SQL. Compute resources are infrastructure resources that …However, if this workspace used the SQL Warehouses API to create a warehouse between September 1, 2022 and April 30, 2023, ... databricks_sql_access on databricks_group or databricks_user. \n \n Timeouts \n. The timeouts block allows you to specify create timeouts. It usually takes 10-20 minutes to provision a Databricks SQL warehouse.2 days ago · Use Databricks SQL in a Databricks job. Next, use the SQL task type in a Databricks job, allowing you to create, schedule, operate, and monitor workflows that include Databricks SQL objects such as queries, dashboards, and alerts. See Tutorial: Use Databricks SQL in a Databricks job.Databricks SQL is the collection of services that bring data warehousing capabilities and performance to your existing data lakes. Databricks SQL supports open formats and standard ANSI SQL. An in-platform SQL editor and dashboarding tools allow team members to collaborate with other Databricks users directly in the workspace. Aug 28, 2022 · APIを用いてSQLエンドポイントを操作するには、SQLエンドポイントAPIを参照ください。 始める前に. 最初のSQLウェアハウスを作成する際、New SQL Warehouseページに表示されるデフォルトを使用することをお勧めします。しかし、ご自身の要件に合わせて設定を ... 3 days ago · This section describes how to manage permissions using the Databricks workspace UI. You can also manage permissions using the Permissions API or the Databricks Terraform provide. Click SQL Warehouses in the sidebar. In a warehouse row, click the kebab menu at the far right and select Permissions. The SQL warehouse …May 19, 2022 · Planning my journey. I'd like to take you through the journey of how I used Databricks' recently launched Delta Live Tables product to build an end-to-end analytics application using real-time data with a SQL-only skillset. I joined Databricks as a Product Manager in early November 2021. I'm clearly still a newbie at the company but I've been …May 30, 2023 · I use the rest api for other things. So, basically for a warehouse id, you need to pass on the entire array of users who would have access. So, if there were 3 users …Jan 8, 2024 · Replace <subnet> with the ARM resource ID (resourceId) of the serverless SQL warehouse subnet. After running all the commands, you can use the Azure portal to view your storage account and confirm that there is an entry in the Virtual Networks table that represents the new subnet. However, you cannot make the network rules changes in …2 days ago · Databricks strongly recommends that you always explicitly set this field. If omitted, the default is false for most workspaces. However, if this workspace used the SQL Warehouses API to create a warehouse between September 1, 2022 and April 30, 2023, the default remains the previous behavior which is default to true if the workspace is enabled .... 2 days ago · A SQL warehouse is a compute4 days ago · Run SQL statements on a warehouses wi Step 7: Query table from Databricks SQL. Anyone with the USE CATALOG permission on the current catalog, the USE SCHEMA permission on the current schema, and SELECT permissions on the table can query the contents of the table from their preferred Databricks API. You need access to a running SQL warehouse to execute queries in Databricks … 3 days ago · The Databricks SQL Sta 2 days ago · Next steps. After you complete the steps in this article, users can run the COPY INTO command to load the data from the S3 bucket into your Databricks workspace.. To load data using a Unity Catalog volume or external location, see Load data using COPY INTO with Unity Catalog volumes or external locations.. To load data using a SQL …Sep 28, 2023 · Now dbt can connect to Databricks SQL warehouse without any static API key, secrets, or static credentials. We have authenticated with our Azure AD credentials and are using a short-lived Oauth token to authenticate to the DBSQL API. ... We now successfully authenticated to the Databricks SQL warehouse with our Azure service … An SQL warehouse is a computing resource ...

Continue Reading