SQL versus teradataml Differences | VIEW Creation | Teradata Package for Python - SQL versus teradataml Differences - Teradata Package for Python

Teradata® Package for Python User Guide

Deployment
VantageCloud
VantageCore
Edition
Enterprise
IntelliFlex
VMware
Product
Teradata Package for Python
Release Number
20.00
Published
December 2024
ft:locale
en-US
ft:lastEdition
2025-01-23
dita:mapPath
nvi1706202040305.ditamap
dita:ditavalPath
plt1683835213376.ditaval
dita:id
rkb1531260709148
lifecycle
latest
Product Category
Teradata Vantage

The main difference between SQL and teradataml is that teradataml internally creates temporary objects like views, and in order to do so the user needs explicit permissions whereas while running plain SQL none of these temporary objects are created.

teradataml requires that the user has certain permissions on the user's default database or the initial default database specified using the database argument, or the temporary database when specified using temp_database_name.

These permissions allow the user to do the following:
  • Create tables and views to save results of teradataml analytic functions.
  • Create views in the background for results of DataFrame APIs such as assign(), filter(), and so on, whenever the result for these APIs are accessed using a print().
  • Create view in the background on the query passed to the DataFrame.from_query() API.

It is expected that the user has the correct permissions to create these objects in the database that will be used. The access to the views created may also require issuing additional GRANT SELECT ... WITH GRANT OPTION permission depending on which database is used and which object the view being created is based on.

  • User created in Teradata, by default has CREATE VIEW and CREATE TABLE permissions in own database.
  • Users created must have PERM space available to create tables.
  • VIEW creation does not require PERM space.