Teradataml: Как использовать temp db при выполнении запросов в teradataml? - PullRequest
0 голосов
/ 26 сентября 2019

Поддерживает ли teradataml временную базу данных для временных таблиц, представлений, созданных при выполнении запросов?Как это можно использовать и требуется ли какая-либо конкретная конфигурация?

1 Ответ

0 голосов
/ 26 сентября 2019
create_context(host=None, username=None, password=None, tdsqlengine=None, temp_database_name=None, logmech=None)
    DESCRIPTION:
        Creates a connection to the Teradata Vantage using the teradatasql + teradatasqlalchemy DBAPI and dialect combination.
        Users can pass all required parameters (host, username, password) for establishing a connection to Vantage,
        or pass a sqlalchemy engine to the tdsqlengine parameter to override the default DBAPI and dialect combination.

        temp_database_name:
            Optional Argument.
            Specifies the temporary database name where temporary tables, views will be created.
            Types: str

Перед запуском следующего примера убедитесь, что база данных, указанная в аргументе temp_database_name, существует и соответствующий пользователь имеет доступ к функции с параметром grant и выберите доступ к входной таблице с параметром grant.Этого можно достичь, запустив:

grant execute function on <function name> to <user> with grant option;
grant select on <input table> to <temp db user> with grant option;

Пример:

import teradataml
from teradataml.context.context import *
from teradataml.dataframe.dataframe import DataFrame
from teradataml.analytics.mle.XGBoost import XGBoost
from teradataml.analytics.mle.XGBoostPredict import XGBoostPredict
from teradataml.options.display import display
display.print_sqlmr_query = True

con = create_context(host="hostname", username="user", password="password",temp_database_name="mytemp")

housing_train_binary = DataFrame.from_table("housing_train_binary")

xgboostmodel = XGBoost(data=housing_train_binary,
                         id_column='sn',
                         formula=" homestyle ~ driveway +  recroom +  fullbase +  gashw +  airco +  prefarea ",
                         num_boosted_trees=2,
                         loss_function='SOFTMAX',
                         prediction_type='CLASSIFICATION',
                         reg_lambda=1.0,
                         shrinkage_factor=0.1,
                         column_subsampling=1.0,
                         iter_num=10,
                         min_node_size=1,
                         max_depth=12,
                         variance=0.0,
                         seed=1,
                         data_sequence_column=['sn', 'homestyle']
                         )
xgboostmodel                        

housing_test_binary = DataFrame.from_table("housing_test_binary")

xgpredict = XGBoostPredict(newdata=housing_test_binary,
                                object=xgboostmodel,
                                object_order_column=['tree_id', 'iter', 'class_num'],
                                id_column='sn',
                                terms='homestyle',
                                num_boosted_trees=1
                                )

xgboostpredict

...