teradataml 17.20.0.7__py3-none-any.whl → 20.0.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of teradataml might be problematic. Click here for more details.
- teradataml/LICENSE-3RD-PARTY.pdf +0 -0
- teradataml/LICENSE.pdf +0 -0
- teradataml/README.md +1864 -1640
- teradataml/__init__.py +70 -60
- teradataml/_version.py +11 -11
- teradataml/analytics/Transformations.py +2995 -2995
- teradataml/analytics/__init__.py +81 -83
- teradataml/analytics/analytic_function_executor.py +2013 -2010
- teradataml/analytics/analytic_query_generator.py +958 -958
- teradataml/analytics/byom/H2OPredict.py +514 -514
- teradataml/analytics/byom/PMMLPredict.py +437 -437
- teradataml/analytics/byom/__init__.py +14 -14
- teradataml/analytics/json_parser/__init__.py +130 -130
- teradataml/analytics/json_parser/analytic_functions_argument.py +1707 -1707
- teradataml/analytics/json_parser/json_store.py +191 -191
- teradataml/analytics/json_parser/metadata.py +1637 -1637
- teradataml/analytics/json_parser/utils.py +804 -803
- teradataml/analytics/meta_class.py +196 -196
- teradataml/analytics/sqle/DecisionTreePredict.py +455 -470
- teradataml/analytics/sqle/NaiveBayesPredict.py +419 -428
- teradataml/analytics/sqle/__init__.py +97 -110
- teradataml/analytics/sqle/json/decisiontreepredict_sqle.json +78 -78
- teradataml/analytics/sqle/json/naivebayespredict_sqle.json +62 -62
- teradataml/analytics/table_operator/__init__.py +10 -10
- teradataml/analytics/uaf/__init__.py +63 -63
- teradataml/analytics/utils.py +693 -692
- teradataml/analytics/valib.py +1603 -1600
- teradataml/automl/__init__.py +1628 -0
- teradataml/automl/custom_json_utils.py +1270 -0
- teradataml/automl/data_preparation.py +993 -0
- teradataml/automl/data_transformation.py +727 -0
- teradataml/automl/feature_engineering.py +1648 -0
- teradataml/automl/feature_exploration.py +547 -0
- teradataml/automl/model_evaluation.py +163 -0
- teradataml/automl/model_training.py +887 -0
- teradataml/catalog/__init__.py +1 -3
- teradataml/catalog/byom.py +1759 -1716
- teradataml/catalog/function_argument_mapper.py +859 -861
- teradataml/catalog/model_cataloging_utils.py +491 -1510
- teradataml/clients/pkce_client.py +481 -481
- teradataml/common/aed_utils.py +6 -2
- teradataml/common/bulk_exposed_utils.py +111 -111
- teradataml/common/constants.py +1433 -1441
- teradataml/common/deprecations.py +160 -0
- teradataml/common/exceptions.py +73 -73
- teradataml/common/formula.py +742 -742
- teradataml/common/garbagecollector.py +592 -635
- teradataml/common/messagecodes.py +422 -431
- teradataml/common/messages.py +227 -231
- teradataml/common/sqlbundle.py +693 -693
- teradataml/common/td_coltype_code_to_tdtype.py +48 -48
- teradataml/common/utils.py +2418 -2500
- teradataml/common/warnings.py +25 -25
- teradataml/common/wrapper_utils.py +1 -110
- teradataml/config/dummy_file1.cfg +4 -4
- teradataml/config/dummy_file2.cfg +2 -2
- teradataml/config/sqlengine_alias_definitions_v1.0 +13 -13
- teradataml/config/sqlengine_alias_definitions_v1.1 +19 -19
- teradataml/config/sqlengine_alias_definitions_v1.3 +18 -18
- teradataml/context/aed_context.py +217 -217
- teradataml/context/context.py +1071 -999
- teradataml/data/A_loan.csv +19 -19
- teradataml/data/BINARY_REALS_LEFT.csv +11 -11
- teradataml/data/BINARY_REALS_RIGHT.csv +11 -11
- teradataml/data/B_loan.csv +49 -49
- teradataml/data/BuoyData2.csv +17 -17
- teradataml/data/CONVOLVE2_COMPLEX_LEFT.csv +5 -5
- teradataml/data/CONVOLVE2_COMPLEX_RIGHT.csv +5 -5
- teradataml/data/Convolve2RealsLeft.csv +5 -5
- teradataml/data/Convolve2RealsRight.csv +5 -5
- teradataml/data/Convolve2ValidLeft.csv +11 -11
- teradataml/data/Convolve2ValidRight.csv +11 -11
- teradataml/data/DFFTConv_Real_8_8.csv +65 -65
- teradataml/data/Orders1_12mf.csv +24 -24
- teradataml/data/Pi_loan.csv +7 -7
- teradataml/data/SMOOTHED_DATA.csv +7 -7
- teradataml/data/TestDFFT8.csv +9 -9
- teradataml/data/TestRiver.csv +109 -109
- teradataml/data/Traindata.csv +28 -28
- teradataml/data/acf.csv +17 -17
- teradataml/data/adaboost_example.json +34 -34
- teradataml/data/adaboostpredict_example.json +24 -24
- teradataml/data/additional_table.csv +10 -10
- teradataml/data/admissions_test.csv +21 -21
- teradataml/data/admissions_train.csv +41 -41
- teradataml/data/admissions_train_nulls.csv +41 -41
- teradataml/data/ageandheight.csv +13 -13
- teradataml/data/ageandpressure.csv +31 -31
- teradataml/data/antiselect_example.json +36 -36
- teradataml/data/antiselect_input.csv +8 -8
- teradataml/data/antiselect_input_mixed_case.csv +8 -8
- teradataml/data/applicant_external.csv +6 -6
- teradataml/data/applicant_reference.csv +6 -6
- teradataml/data/arima_example.json +9 -9
- teradataml/data/assortedtext_input.csv +8 -8
- teradataml/data/attribution_example.json +33 -33
- teradataml/data/attribution_sample_table.csv +27 -27
- teradataml/data/attribution_sample_table1.csv +6 -6
- teradataml/data/attribution_sample_table2.csv +11 -11
- teradataml/data/bank_churn.csv +10001 -0
- teradataml/data/bank_web_clicks1.csv +42 -42
- teradataml/data/bank_web_clicks2.csv +91 -91
- teradataml/data/bank_web_url.csv +85 -85
- teradataml/data/barrier.csv +2 -2
- teradataml/data/barrier_new.csv +3 -3
- teradataml/data/betweenness_example.json +13 -13
- teradataml/data/bin_breaks.csv +8 -8
- teradataml/data/bin_fit_ip.csv +3 -3
- teradataml/data/binary_complex_left.csv +11 -11
- teradataml/data/binary_complex_right.csv +11 -11
- teradataml/data/binary_matrix_complex_left.csv +21 -21
- teradataml/data/binary_matrix_complex_right.csv +21 -21
- teradataml/data/binary_matrix_real_left.csv +21 -21
- teradataml/data/binary_matrix_real_right.csv +21 -21
- teradataml/data/blood2ageandweight.csv +26 -26
- teradataml/data/bmi.csv +501 -0
- teradataml/data/boston.csv +507 -507
- teradataml/data/buoydata_mix.csv +11 -11
- teradataml/data/burst_data.csv +5 -5
- teradataml/data/burst_example.json +20 -20
- teradataml/data/byom_example.json +17 -17
- teradataml/data/bytes_table.csv +3 -3
- teradataml/data/cal_housing_ex_raw.csv +70 -70
- teradataml/data/callers.csv +7 -7
- teradataml/data/calls.csv +10 -10
- teradataml/data/cars_hist.csv +33 -33
- teradataml/data/cat_table.csv +24 -24
- teradataml/data/ccm_example.json +31 -31
- teradataml/data/ccm_input.csv +91 -91
- teradataml/data/ccm_input2.csv +13 -13
- teradataml/data/ccmexample.csv +101 -101
- teradataml/data/ccmprepare_example.json +8 -8
- teradataml/data/ccmprepare_input.csv +91 -91
- teradataml/data/cfilter_example.json +12 -12
- teradataml/data/changepointdetection_example.json +18 -18
- teradataml/data/changepointdetectionrt_example.json +8 -8
- teradataml/data/chi_sq.csv +2 -2
- teradataml/data/churn_data.csv +14 -14
- teradataml/data/churn_emission.csv +35 -35
- teradataml/data/churn_initial.csv +3 -3
- teradataml/data/churn_state_transition.csv +5 -5
- teradataml/data/citedges_2.csv +745 -745
- teradataml/data/citvertices_2.csv +1210 -1210
- teradataml/data/clicks2.csv +16 -16
- teradataml/data/clickstream.csv +12 -12
- teradataml/data/clickstream1.csv +11 -11
- teradataml/data/closeness_example.json +15 -15
- teradataml/data/complaints.csv +21 -21
- teradataml/data/complaints_mini.csv +3 -3
- teradataml/data/complaints_testtoken.csv +224 -224
- teradataml/data/complaints_tokens_test.csv +353 -353
- teradataml/data/complaints_traintoken.csv +472 -472
- teradataml/data/computers_category.csv +1001 -1001
- teradataml/data/computers_test1.csv +1252 -1252
- teradataml/data/computers_train1.csv +5009 -5009
- teradataml/data/computers_train1_clustered.csv +5009 -5009
- teradataml/data/confusionmatrix_example.json +9 -9
- teradataml/data/conversion_event_table.csv +3 -3
- teradataml/data/corr_input.csv +17 -17
- teradataml/data/correlation_example.json +11 -11
- teradataml/data/coxhazardratio_example.json +39 -39
- teradataml/data/coxph_example.json +15 -15
- teradataml/data/coxsurvival_example.json +28 -28
- teradataml/data/cpt.csv +41 -41
- teradataml/data/credit_ex_merged.csv +45 -45
- teradataml/data/customer_loyalty.csv +301 -301
- teradataml/data/customer_loyalty_newseq.csv +31 -31
- teradataml/data/dataframe_example.json +146 -146
- teradataml/data/decisionforest_example.json +37 -37
- teradataml/data/decisionforestpredict_example.json +38 -38
- teradataml/data/decisiontree_example.json +21 -21
- teradataml/data/decisiontreepredict_example.json +45 -45
- teradataml/data/dfft2_size4_real.csv +17 -17
- teradataml/data/dfft2_test_matrix16.csv +17 -17
- teradataml/data/dfft2conv_real_4_4.csv +65 -65
- teradataml/data/diabetes.csv +443 -443
- teradataml/data/diabetes_test.csv +89 -89
- teradataml/data/dict_table.csv +5 -5
- teradataml/data/docperterm_table.csv +4 -4
- teradataml/data/docs/__init__.py +1 -1
- teradataml/data/docs/byom/docs/DataRobotPredict.py +180 -180
- teradataml/data/docs/byom/docs/DataikuPredict.py +177 -177
- teradataml/data/docs/byom/docs/H2OPredict.py +324 -324
- teradataml/data/docs/byom/docs/ONNXPredict.py +283 -283
- teradataml/data/docs/byom/docs/PMMLPredict.py +277 -277
- teradataml/data/docs/sqle/docs_17_10/Antiselect.py +82 -82
- teradataml/data/docs/sqle/docs_17_10/Attribution.py +199 -199
- teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +171 -171
- teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +131 -130
- teradataml/data/docs/sqle/docs_17_10/CategoricalSummary.py +86 -86
- teradataml/data/docs/sqle/docs_17_10/ChiSq.py +90 -90
- teradataml/data/docs/sqle/docs_17_10/ColumnSummary.py +85 -85
- teradataml/data/docs/sqle/docs_17_10/ConvertTo.py +95 -95
- teradataml/data/docs/sqle/docs_17_10/DecisionForestPredict.py +139 -139
- teradataml/data/docs/sqle/docs_17_10/DecisionTreePredict.py +151 -151
- teradataml/data/docs/sqle/docs_17_10/FTest.py +160 -160
- teradataml/data/docs/sqle/docs_17_10/FillRowId.py +82 -82
- teradataml/data/docs/sqle/docs_17_10/Fit.py +87 -87
- teradataml/data/docs/sqle/docs_17_10/GLMPredict.py +144 -144
- teradataml/data/docs/sqle/docs_17_10/GetRowsWithMissingValues.py +84 -84
- teradataml/data/docs/sqle/docs_17_10/GetRowsWithoutMissingValues.py +81 -81
- teradataml/data/docs/sqle/docs_17_10/Histogram.py +164 -164
- teradataml/data/docs/sqle/docs_17_10/MovingAverage.py +134 -134
- teradataml/data/docs/sqle/docs_17_10/NGramSplitter.py +208 -208
- teradataml/data/docs/sqle/docs_17_10/NPath.py +265 -265
- teradataml/data/docs/sqle/docs_17_10/NaiveBayesPredict.py +116 -116
- teradataml/data/docs/sqle/docs_17_10/NaiveBayesTextClassifierPredict.py +176 -176
- teradataml/data/docs/sqle/docs_17_10/NumApply.py +147 -147
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingFit.py +132 -132
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +103 -103
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterFit.py +165 -165
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +101 -101
- teradataml/data/docs/sqle/docs_17_10/Pack.py +128 -128
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesFit.py +111 -111
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +102 -102
- teradataml/data/docs/sqle/docs_17_10/QQNorm.py +104 -104
- teradataml/data/docs/sqle/docs_17_10/RoundColumns.py +109 -109
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeFit.py +117 -117
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +99 -98
- teradataml/data/docs/sqle/docs_17_10/SVMSparsePredict.py +152 -152
- teradataml/data/docs/sqle/docs_17_10/ScaleFit.py +197 -197
- teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +99 -98
- teradataml/data/docs/sqle/docs_17_10/Sessionize.py +113 -113
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeFit.py +116 -116
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +98 -98
- teradataml/data/docs/sqle/docs_17_10/StrApply.py +187 -187
- teradataml/data/docs/sqle/docs_17_10/StringSimilarity.py +145 -145
- teradataml/data/docs/sqle/docs_17_10/Transform.py +105 -104
- teradataml/data/docs/sqle/docs_17_10/UnivariateStatistics.py +141 -141
- teradataml/data/docs/sqle/docs_17_10/Unpack.py +214 -214
- teradataml/data/docs/sqle/docs_17_10/WhichMax.py +83 -83
- teradataml/data/docs/sqle/docs_17_10/WhichMin.py +83 -83
- teradataml/data/docs/sqle/docs_17_10/ZTest.py +155 -155
- teradataml/data/docs/sqle/docs_17_20/ANOVA.py +126 -126
- teradataml/data/docs/sqle/docs_17_20/Antiselect.py +82 -82
- teradataml/data/docs/sqle/docs_17_20/Attribution.py +200 -200
- teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +171 -171
- teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +139 -138
- teradataml/data/docs/sqle/docs_17_20/CategoricalSummary.py +86 -86
- teradataml/data/docs/sqle/docs_17_20/ChiSq.py +90 -90
- teradataml/data/docs/sqle/docs_17_20/ClassificationEvaluator.py +166 -166
- teradataml/data/docs/sqle/docs_17_20/ColumnSummary.py +85 -85
- teradataml/data/docs/sqle/docs_17_20/ColumnTransformer.py +243 -243
- teradataml/data/docs/sqle/docs_17_20/ConvertTo.py +113 -113
- teradataml/data/docs/sqle/docs_17_20/DecisionForest.py +279 -279
- teradataml/data/docs/sqle/docs_17_20/DecisionForestPredict.py +144 -144
- teradataml/data/docs/sqle/docs_17_20/DecisionTreePredict.py +135 -135
- teradataml/data/docs/sqle/docs_17_20/FTest.py +160 -160
- teradataml/data/docs/sqle/docs_17_20/FillRowId.py +82 -82
- teradataml/data/docs/sqle/docs_17_20/Fit.py +87 -87
- teradataml/data/docs/sqle/docs_17_20/GLM.py +380 -380
- teradataml/data/docs/sqle/docs_17_20/GLMPerSegment.py +414 -414
- teradataml/data/docs/sqle/docs_17_20/GLMPredict.py +144 -144
- teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +233 -234
- teradataml/data/docs/sqle/docs_17_20/GetFutileColumns.py +123 -123
- teradataml/data/docs/sqle/docs_17_20/GetRowsWithMissingValues.py +108 -108
- teradataml/data/docs/sqle/docs_17_20/GetRowsWithoutMissingValues.py +105 -105
- teradataml/data/docs/sqle/docs_17_20/Histogram.py +223 -223
- teradataml/data/docs/sqle/docs_17_20/KMeans.py +204 -204
- teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +144 -143
- teradataml/data/docs/sqle/docs_17_20/KNN.py +214 -214
- teradataml/data/docs/sqle/docs_17_20/MovingAverage.py +134 -134
- teradataml/data/docs/sqle/docs_17_20/NGramSplitter.py +208 -208
- teradataml/data/docs/sqle/docs_17_20/NPath.py +265 -265
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesPredict.py +116 -116
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +177 -176
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +126 -126
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +117 -117
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +112 -112
- teradataml/data/docs/sqle/docs_17_20/NumApply.py +147 -147
- teradataml/data/docs/sqle/docs_17_20/OneClassSVM.py +307 -307
- teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +185 -184
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingFit.py +225 -225
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +115 -115
- teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingFit.py +219 -219
- teradataml/data/docs/sqle/docs_17_20/OrdinalEncodingTransform.py +127 -127
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterFit.py +189 -189
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +117 -112
- teradataml/data/docs/sqle/docs_17_20/Pack.py +128 -128
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesFit.py +111 -111
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +112 -111
- teradataml/data/docs/sqle/docs_17_20/QQNorm.py +104 -104
- teradataml/data/docs/sqle/docs_17_20/ROC.py +163 -163
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionFit.py +154 -154
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionMinComponents.py +106 -106
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +120 -120
- teradataml/data/docs/sqle/docs_17_20/RegressionEvaluator.py +211 -211
- teradataml/data/docs/sqle/docs_17_20/RoundColumns.py +108 -108
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeFit.py +117 -117
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +111 -110
- teradataml/data/docs/sqle/docs_17_20/SVM.py +413 -413
- teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +202 -202
- teradataml/data/docs/sqle/docs_17_20/SVMSparsePredict.py +152 -152
- teradataml/data/docs/sqle/docs_17_20/ScaleFit.py +197 -197
- teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +110 -109
- teradataml/data/docs/sqle/docs_17_20/SentimentExtractor.py +206 -206
- teradataml/data/docs/sqle/docs_17_20/Sessionize.py +113 -113
- teradataml/data/docs/sqle/docs_17_20/Silhouette.py +152 -152
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeFit.py +116 -116
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +109 -108
- teradataml/data/docs/sqle/docs_17_20/StrApply.py +187 -187
- teradataml/data/docs/sqle/docs_17_20/StringSimilarity.py +145 -145
- teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +207 -207
- teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +171 -171
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingFit.py +266 -266
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +141 -140
- teradataml/data/docs/sqle/docs_17_20/TextParser.py +172 -172
- teradataml/data/docs/sqle/docs_17_20/TrainTestSplit.py +159 -159
- teradataml/data/docs/sqle/docs_17_20/Transform.py +123 -123
- teradataml/data/docs/sqle/docs_17_20/UnivariateStatistics.py +141 -141
- teradataml/data/docs/sqle/docs_17_20/Unpack.py +214 -214
- teradataml/data/docs/sqle/docs_17_20/VectorDistance.py +168 -168
- teradataml/data/docs/sqle/docs_17_20/WhichMax.py +83 -83
- teradataml/data/docs/sqle/docs_17_20/WhichMin.py +83 -83
- teradataml/data/docs/sqle/docs_17_20/WordEmbeddings.py +236 -236
- teradataml/data/docs/sqle/docs_17_20/XGBoost.py +353 -353
- teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +275 -275
- teradataml/data/docs/sqle/docs_17_20/ZTest.py +155 -155
- teradataml/data/docs/tableoperator/docs_17_00/ReadNOS.py +429 -429
- teradataml/data/docs/tableoperator/docs_17_05/ReadNOS.py +429 -429
- teradataml/data/docs/tableoperator/docs_17_05/WriteNOS.py +347 -347
- teradataml/data/docs/tableoperator/docs_17_10/ReadNOS.py +428 -428
- teradataml/data/docs/tableoperator/docs_17_10/WriteNOS.py +347 -347
- teradataml/data/docs/tableoperator/docs_17_20/ReadNOS.py +439 -439
- teradataml/data/docs/tableoperator/docs_17_20/WriteNOS.py +386 -386
- teradataml/data/docs/uaf/docs_17_20/ACF.py +195 -195
- teradataml/data/docs/uaf/docs_17_20/ArimaEstimate.py +369 -369
- teradataml/data/docs/uaf/docs_17_20/ArimaForecast.py +142 -142
- teradataml/data/docs/uaf/docs_17_20/ArimaValidate.py +159 -159
- teradataml/data/docs/uaf/docs_17_20/BinaryMatrixOp.py +247 -247
- teradataml/data/docs/uaf/docs_17_20/BinarySeriesOp.py +252 -252
- teradataml/data/docs/uaf/docs_17_20/BreuschGodfrey.py +177 -177
- teradataml/data/docs/uaf/docs_17_20/BreuschPaganGodfrey.py +174 -174
- teradataml/data/docs/uaf/docs_17_20/Convolve.py +226 -226
- teradataml/data/docs/uaf/docs_17_20/Convolve2.py +214 -214
- teradataml/data/docs/uaf/docs_17_20/CumulPeriodogram.py +183 -183
- teradataml/data/docs/uaf/docs_17_20/DFFT.py +203 -203
- teradataml/data/docs/uaf/docs_17_20/DFFT2.py +216 -216
- teradataml/data/docs/uaf/docs_17_20/DFFT2Conv.py +215 -215
- teradataml/data/docs/uaf/docs_17_20/DFFTConv.py +191 -191
- teradataml/data/docs/uaf/docs_17_20/DTW.py +179 -179
- teradataml/data/docs/uaf/docs_17_20/DickeyFuller.py +144 -144
- teradataml/data/docs/uaf/docs_17_20/DurbinWatson.py +183 -183
- teradataml/data/docs/uaf/docs_17_20/ExtractResults.py +184 -184
- teradataml/data/docs/uaf/docs_17_20/FitMetrics.py +172 -172
- teradataml/data/docs/uaf/docs_17_20/GenseriesFormula.py +205 -205
- teradataml/data/docs/uaf/docs_17_20/GenseriesSinusoids.py +142 -142
- teradataml/data/docs/uaf/docs_17_20/HoltWintersForecaster.py +258 -258
- teradataml/data/docs/uaf/docs_17_20/IDFFT.py +164 -164
- teradataml/data/docs/uaf/docs_17_20/IDFFT2.py +198 -198
- teradataml/data/docs/uaf/docs_17_20/InputValidator.py +120 -120
- teradataml/data/docs/uaf/docs_17_20/LineSpec.py +155 -155
- teradataml/data/docs/uaf/docs_17_20/LinearRegr.py +214 -214
- teradataml/data/docs/uaf/docs_17_20/MAMean.py +173 -173
- teradataml/data/docs/uaf/docs_17_20/MInfo.py +133 -133
- teradataml/data/docs/uaf/docs_17_20/MatrixMultiply.py +135 -135
- teradataml/data/docs/uaf/docs_17_20/MultivarRegr.py +190 -190
- teradataml/data/docs/uaf/docs_17_20/PACF.py +158 -158
- teradataml/data/docs/uaf/docs_17_20/Portman.py +216 -216
- teradataml/data/docs/uaf/docs_17_20/PowerTransform.py +154 -154
- teradataml/data/docs/uaf/docs_17_20/Resample.py +228 -228
- teradataml/data/docs/uaf/docs_17_20/SInfo.py +122 -122
- teradataml/data/docs/uaf/docs_17_20/SeasonalNormalize.py +165 -165
- teradataml/data/docs/uaf/docs_17_20/SelectionCriteria.py +173 -173
- teradataml/data/docs/uaf/docs_17_20/SignifPeriodicities.py +170 -170
- teradataml/data/docs/uaf/docs_17_20/SignifResidmean.py +163 -163
- teradataml/data/docs/uaf/docs_17_20/SimpleExp.py +179 -179
- teradataml/data/docs/uaf/docs_17_20/Smoothma.py +207 -207
- teradataml/data/docs/uaf/docs_17_20/TrackingOp.py +150 -150
- teradataml/data/docs/uaf/docs_17_20/UNDIFF.py +171 -171
- teradataml/data/docs/uaf/docs_17_20/Unnormalize.py +201 -201
- teradataml/data/docs/uaf/docs_17_20/WhitesGeneral.py +169 -169
- teradataml/data/dtw_example.json +17 -17
- teradataml/data/dtw_t1.csv +11 -11
- teradataml/data/dtw_t2.csv +4 -4
- teradataml/data/dwt2d_example.json +15 -15
- teradataml/data/dwt_example.json +14 -14
- teradataml/data/dwt_filter_dim.csv +5 -5
- teradataml/data/emission.csv +9 -9
- teradataml/data/emp_table_by_dept.csv +19 -19
- teradataml/data/employee_info.csv +4 -4
- teradataml/data/employee_table.csv +6 -6
- teradataml/data/excluding_event_table.csv +2 -2
- teradataml/data/finance_data.csv +6 -6
- teradataml/data/finance_data2.csv +61 -61
- teradataml/data/finance_data3.csv +93 -93
- teradataml/data/fish.csv +160 -0
- teradataml/data/fm_blood2ageandweight.csv +26 -26
- teradataml/data/fmeasure_example.json +11 -11
- teradataml/data/followers_leaders.csv +10 -10
- teradataml/data/fpgrowth_example.json +12 -12
- teradataml/data/frequentpaths_example.json +29 -29
- teradataml/data/friends.csv +9 -9
- teradataml/data/fs_input.csv +33 -33
- teradataml/data/fs_input1.csv +33 -33
- teradataml/data/genData.csv +513 -513
- teradataml/data/geodataframe_example.json +39 -39
- teradataml/data/glass_types.csv +215 -0
- teradataml/data/glm_admissions_model.csv +12 -12
- teradataml/data/glm_example.json +29 -29
- teradataml/data/glml1l2_example.json +28 -28
- teradataml/data/glml1l2predict_example.json +54 -54
- teradataml/data/glmpredict_example.json +54 -54
- teradataml/data/gq_t1.csv +21 -21
- teradataml/data/hconvolve_complex_right.csv +5 -5
- teradataml/data/hconvolve_complex_rightmulti.csv +5 -5
- teradataml/data/histogram_example.json +11 -11
- teradataml/data/hmmdecoder_example.json +78 -78
- teradataml/data/hmmevaluator_example.json +24 -24
- teradataml/data/hmmsupervised_example.json +10 -10
- teradataml/data/hmmunsupervised_example.json +7 -7
- teradataml/data/house_values.csv +12 -12
- teradataml/data/house_values2.csv +13 -13
- teradataml/data/housing_cat.csv +7 -7
- teradataml/data/housing_data.csv +9 -9
- teradataml/data/housing_test.csv +47 -47
- teradataml/data/housing_test_binary.csv +47 -47
- teradataml/data/housing_train.csv +493 -493
- teradataml/data/housing_train_attribute.csv +4 -4
- teradataml/data/housing_train_binary.csv +437 -437
- teradataml/data/housing_train_parameter.csv +2 -2
- teradataml/data/housing_train_response.csv +493 -493
- teradataml/data/ibm_stock.csv +370 -370
- teradataml/data/ibm_stock1.csv +370 -370
- teradataml/data/identitymatch_example.json +21 -21
- teradataml/data/idf_table.csv +4 -4
- teradataml/data/impressions.csv +101 -101
- teradataml/data/inflation.csv +21 -21
- teradataml/data/initial.csv +3 -3
- teradataml/data/insect_sprays.csv +12 -12
- teradataml/data/insurance.csv +1339 -1339
- teradataml/data/interpolator_example.json +12 -12
- teradataml/data/iris_altinput.csv +481 -481
- teradataml/data/iris_attribute_output.csv +8 -8
- teradataml/data/iris_attribute_test.csv +121 -121
- teradataml/data/iris_attribute_train.csv +481 -481
- teradataml/data/iris_category_expect_predict.csv +31 -31
- teradataml/data/iris_data.csv +151 -0
- teradataml/data/iris_input.csv +151 -151
- teradataml/data/iris_response_train.csv +121 -121
- teradataml/data/iris_test.csv +31 -31
- teradataml/data/iris_train.csv +121 -121
- teradataml/data/join_table1.csv +4 -4
- teradataml/data/join_table2.csv +4 -4
- teradataml/data/jsons/anly_function_name.json +6 -6
- teradataml/data/jsons/byom/dataikupredict.json +147 -147
- teradataml/data/jsons/byom/datarobotpredict.json +146 -146
- teradataml/data/jsons/byom/h2opredict.json +194 -194
- teradataml/data/jsons/byom/onnxpredict.json +186 -186
- teradataml/data/jsons/byom/pmmlpredict.json +146 -146
- teradataml/data/jsons/paired_functions.json +435 -435
- teradataml/data/jsons/sqle/16.20/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/16.20/Attribution.json +249 -249
- teradataml/data/jsons/sqle/16.20/DecisionForestPredict.json +156 -156
- teradataml/data/jsons/sqle/16.20/DecisionTreePredict.json +170 -170
- teradataml/data/jsons/sqle/16.20/GLMPredict.json +122 -122
- teradataml/data/jsons/sqle/16.20/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/16.20/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/16.20/NaiveBayesPredict.json +136 -136
- teradataml/data/jsons/sqle/16.20/NaiveBayesTextClassifierPredict.json +235 -235
- teradataml/data/jsons/sqle/16.20/Pack.json +98 -98
- teradataml/data/jsons/sqle/16.20/SVMSparsePredict.json +162 -162
- teradataml/data/jsons/sqle/16.20/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/16.20/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/16.20/Unpack.json +166 -166
- teradataml/data/jsons/sqle/16.20/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.00/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.00/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.00/DecisionForestPredict.json +156 -156
- teradataml/data/jsons/sqle/17.00/DecisionTreePredict.json +170 -170
- teradataml/data/jsons/sqle/17.00/GLMPredict.json +122 -122
- teradataml/data/jsons/sqle/17.00/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/17.00/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.00/NaiveBayesPredict.json +136 -136
- teradataml/data/jsons/sqle/17.00/NaiveBayesTextClassifierPredict.json +235 -235
- teradataml/data/jsons/sqle/17.00/Pack.json +98 -98
- teradataml/data/jsons/sqle/17.00/SVMSparsePredict.json +162 -162
- teradataml/data/jsons/sqle/17.00/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.00/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.00/Unpack.json +166 -166
- teradataml/data/jsons/sqle/17.00/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.05/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.05/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.05/DecisionForestPredict.json +156 -156
- teradataml/data/jsons/sqle/17.05/DecisionTreePredict.json +170 -170
- teradataml/data/jsons/sqle/17.05/GLMPredict.json +122 -122
- teradataml/data/jsons/sqle/17.05/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/17.05/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.05/NaiveBayesPredict.json +136 -136
- teradataml/data/jsons/sqle/17.05/NaiveBayesTextClassifierPredict.json +235 -235
- teradataml/data/jsons/sqle/17.05/Pack.json +98 -98
- teradataml/data/jsons/sqle/17.05/SVMSparsePredict.json +162 -162
- teradataml/data/jsons/sqle/17.05/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.05/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.05/Unpack.json +166 -166
- teradataml/data/jsons/sqle/17.05/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.10/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.10/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.10/DecisionForestPredict.json +185 -185
- teradataml/data/jsons/sqle/17.10/DecisionTreePredict.json +171 -171
- teradataml/data/jsons/sqle/17.10/GLMPredict.json +151 -151
- teradataml/data/jsons/sqle/17.10/MovingAverage.json +368 -368
- teradataml/data/jsons/sqle/17.10/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.10/NaiveBayesPredict.json +149 -149
- teradataml/data/jsons/sqle/17.10/NaiveBayesTextClassifierPredict.json +288 -288
- teradataml/data/jsons/sqle/17.10/Pack.json +133 -133
- teradataml/data/jsons/sqle/17.10/SVMSparsePredict.json +193 -193
- teradataml/data/jsons/sqle/17.10/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.10/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.10/TD_BinCodeFit.json +239 -239
- teradataml/data/jsons/sqle/17.10/TD_BinCodeTransform.json +70 -70
- teradataml/data/jsons/sqle/17.10/TD_CategoricalSummary.json +53 -53
- teradataml/data/jsons/sqle/17.10/TD_Chisq.json +67 -67
- teradataml/data/jsons/sqle/17.10/TD_ColumnSummary.json +53 -53
- teradataml/data/jsons/sqle/17.10/TD_ConvertTo.json +68 -68
- teradataml/data/jsons/sqle/17.10/TD_FTest.json +187 -187
- teradataml/data/jsons/sqle/17.10/TD_FillRowID.json +51 -51
- teradataml/data/jsons/sqle/17.10/TD_FunctionFit.json +46 -46
- teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +72 -71
- teradataml/data/jsons/sqle/17.10/TD_GetRowsWithMissingValues.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_GetRowsWithoutMissingValues.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_Histogram.json +132 -132
- teradataml/data/jsons/sqle/17.10/TD_NumApply.json +147 -147
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingFit.json +182 -182
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +65 -64
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterFit.json +196 -196
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +48 -47
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesFit.json +114 -114
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +72 -71
- teradataml/data/jsons/sqle/17.10/TD_QQNorm.json +111 -111
- teradataml/data/jsons/sqle/17.10/TD_RoundColumns.json +93 -93
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeFit.json +127 -127
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +70 -69
- teradataml/data/jsons/sqle/17.10/TD_ScaleFit.json +156 -156
- teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +70 -69
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeFit.json +147 -147
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +48 -47
- teradataml/data/jsons/sqle/17.10/TD_StrApply.json +240 -240
- teradataml/data/jsons/sqle/17.10/TD_UnivariateStatistics.json +118 -118
- teradataml/data/jsons/sqle/17.10/TD_WhichMax.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_WhichMin.json +52 -52
- teradataml/data/jsons/sqle/17.10/TD_ZTest.json +171 -171
- teradataml/data/jsons/sqle/17.10/Unpack.json +188 -188
- teradataml/data/jsons/sqle/17.10/nPath.json +269 -269
- teradataml/data/jsons/sqle/17.20/Antiselect.json +56 -56
- teradataml/data/jsons/sqle/17.20/Attribution.json +249 -249
- teradataml/data/jsons/sqle/17.20/DecisionForestPredict.json +185 -185
- teradataml/data/jsons/sqle/17.20/DecisionTreePredict.json +172 -172
- teradataml/data/jsons/sqle/17.20/GLMPredict.json +151 -151
- teradataml/data/jsons/sqle/17.20/MovingAverage.json +367 -367
- teradataml/data/jsons/sqle/17.20/NGramSplitter.json +239 -239
- teradataml/data/jsons/sqle/17.20/NaiveBayesPredict.json +149 -149
- teradataml/data/jsons/sqle/17.20/NaiveBayesTextClassifierPredict.json +287 -287
- teradataml/data/jsons/sqle/17.20/Pack.json +133 -133
- teradataml/data/jsons/sqle/17.20/SVMSparsePredict.json +192 -192
- teradataml/data/jsons/sqle/17.20/Sessionize.json +105 -105
- teradataml/data/jsons/sqle/17.20/StringSimilarity.json +86 -86
- teradataml/data/jsons/sqle/17.20/TD_ANOVA.json +76 -76
- teradataml/data/jsons/sqle/17.20/TD_BinCodeFit.json +239 -239
- teradataml/data/jsons/sqle/17.20/TD_BinCodeTransform.json +71 -71
- teradataml/data/jsons/sqle/17.20/TD_CategoricalSummary.json +53 -53
- teradataml/data/jsons/sqle/17.20/TD_Chisq.json +67 -67
- teradataml/data/jsons/sqle/17.20/TD_ClassificationEvaluator.json +145 -145
- teradataml/data/jsons/sqle/17.20/TD_ColumnSummary.json +53 -53
- teradataml/data/jsons/sqle/17.20/TD_ColumnTransformer.json +218 -218
- teradataml/data/jsons/sqle/17.20/TD_ConvertTo.json +92 -92
- teradataml/data/jsons/sqle/17.20/TD_DecisionForest.json +259 -259
- teradataml/data/jsons/sqle/17.20/TD_DecisionForestPredict.json +139 -139
- teradataml/data/jsons/sqle/17.20/TD_FTest.json +186 -186
- teradataml/data/jsons/sqle/17.20/TD_FillRowID.json +52 -52
- teradataml/data/jsons/sqle/17.20/TD_FunctionFit.json +46 -46
- teradataml/data/jsons/sqle/17.20/TD_FunctionTransform.json +72 -72
- teradataml/data/jsons/sqle/17.20/TD_GLM.json +431 -431
- teradataml/data/jsons/sqle/17.20/TD_GLMPREDICT.json +125 -125
- teradataml/data/jsons/sqle/17.20/TD_GLMPerSegment.json +411 -411
- teradataml/data/jsons/sqle/17.20/TD_GLMPredictPerSegment.json +146 -146
- teradataml/data/jsons/sqle/17.20/TD_GetFutileColumns.json +91 -91
- teradataml/data/jsons/sqle/17.20/TD_GetRowsWithMissingValues.json +76 -76
- teradataml/data/jsons/sqle/17.20/TD_GetRowsWithoutMissingValues.json +76 -76
- teradataml/data/jsons/sqle/17.20/TD_Histogram.json +152 -152
- teradataml/data/jsons/sqle/17.20/TD_KMeans.json +211 -211
- teradataml/data/jsons/sqle/17.20/TD_KMeansPredict.json +86 -86
- teradataml/data/jsons/sqle/17.20/TD_KNN.json +262 -262
- teradataml/data/jsons/sqle/17.20/TD_NaiveBayesTextClassifierTrainer.json +137 -137
- teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineFit.json +101 -101
- teradataml/data/jsons/sqle/17.20/TD_NonLinearCombineTransform.json +71 -71
- teradataml/data/jsons/sqle/17.20/TD_NumApply.json +147 -147
- teradataml/data/jsons/sqle/17.20/TD_OneClassSVM.json +315 -315
- teradataml/data/jsons/sqle/17.20/TD_OneClassSVMPredict.json +123 -123
- teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingFit.json +271 -271
- teradataml/data/jsons/sqle/17.20/TD_OneHotEncodingTransform.json +65 -65
- teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingFit.json +229 -229
- teradataml/data/jsons/sqle/17.20/TD_OrdinalEncodingTransform.json +75 -75
- teradataml/data/jsons/sqle/17.20/TD_OutlierFilterFit.json +217 -217
- teradataml/data/jsons/sqle/17.20/TD_OutlierFilterTransform.json +48 -48
- teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesFit.json +114 -114
- teradataml/data/jsons/sqle/17.20/TD_PolynomialFeaturesTransform.json +72 -72
- teradataml/data/jsons/sqle/17.20/TD_QQNorm.json +111 -111
- teradataml/data/jsons/sqle/17.20/TD_ROC.json +177 -177
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionFit.json +178 -178
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionMinComponents.json +73 -73
- teradataml/data/jsons/sqle/17.20/TD_RandomProjectionTransform.json +74 -74
- teradataml/data/jsons/sqle/17.20/TD_RegressionEvaluator.json +137 -137
- teradataml/data/jsons/sqle/17.20/TD_RoundColumns.json +93 -93
- teradataml/data/jsons/sqle/17.20/TD_RowNormalizeFit.json +127 -127
- teradataml/data/jsons/sqle/17.20/TD_RowNormalizeTransform.json +70 -70
- teradataml/data/jsons/sqle/17.20/TD_SVM.json +389 -389
- teradataml/data/jsons/sqle/17.20/TD_SVMPredict.json +124 -124
- teradataml/data/jsons/sqle/17.20/TD_ScaleFit.json +156 -156
- teradataml/data/jsons/sqle/17.20/TD_ScaleTransform.json +70 -70
- teradataml/data/jsons/sqle/17.20/TD_SentimentExtractor.json +193 -193
- teradataml/data/jsons/sqle/17.20/TD_Silhouette.json +142 -142
- teradataml/data/jsons/sqle/17.20/TD_SimpleImputeFit.json +147 -147
- teradataml/data/jsons/sqle/17.20/TD_SimpleImputeTransform.json +48 -48
- teradataml/data/jsons/sqle/17.20/TD_StrApply.json +240 -240
- teradataml/data/jsons/sqle/17.20/TD_TargetEncodingFit.json +248 -248
- teradataml/data/jsons/sqle/17.20/TD_TargetEncodingTransform.json +75 -75
- teradataml/data/jsons/sqle/17.20/TD_TextParser.json +192 -192
- teradataml/data/jsons/sqle/17.20/TD_TrainTestSplit.json +142 -142
- teradataml/data/jsons/sqle/17.20/TD_UnivariateStatistics.json +117 -117
- teradataml/data/jsons/sqle/17.20/TD_VectorDistance.json +182 -182
- teradataml/data/jsons/sqle/17.20/TD_WhichMax.json +52 -52
- teradataml/data/jsons/sqle/17.20/TD_WhichMin.json +52 -52
- teradataml/data/jsons/sqle/17.20/TD_WordEmbeddings.json +241 -241
- teradataml/data/jsons/sqle/17.20/TD_XGBoost.json +312 -312
- teradataml/data/jsons/sqle/17.20/TD_XGBoostPredict.json +182 -182
- teradataml/data/jsons/sqle/17.20/TD_ZTest.json +170 -170
- teradataml/data/jsons/sqle/17.20/Unpack.json +188 -188
- teradataml/data/jsons/sqle/17.20/nPath.json +269 -269
- teradataml/data/jsons/tableoperator/17.00/read_nos.json +197 -197
- teradataml/data/jsons/tableoperator/17.05/read_nos.json +197 -197
- teradataml/data/jsons/tableoperator/17.05/write_nos.json +194 -194
- teradataml/data/jsons/tableoperator/17.10/read_nos.json +183 -183
- teradataml/data/jsons/tableoperator/17.10/write_nos.json +194 -194
- teradataml/data/jsons/tableoperator/17.20/read_nos.json +182 -182
- teradataml/data/jsons/tableoperator/17.20/write_nos.json +223 -223
- teradataml/data/jsons/uaf/17.20/TD_ACF.json +149 -149
- teradataml/data/jsons/uaf/17.20/TD_ARIMAESTIMATE.json +409 -409
- teradataml/data/jsons/uaf/17.20/TD_ARIMAFORECAST.json +79 -79
- teradataml/data/jsons/uaf/17.20/TD_ARIMAVALIDATE.json +151 -151
- teradataml/data/jsons/uaf/17.20/TD_BINARYMATRIXOP.json +109 -109
- teradataml/data/jsons/uaf/17.20/TD_BINARYSERIESOP.json +107 -107
- teradataml/data/jsons/uaf/17.20/TD_BREUSCH_GODFREY.json +87 -87
- teradataml/data/jsons/uaf/17.20/TD_BREUSCH_PAGAN_GODFREY.json +106 -106
- teradataml/data/jsons/uaf/17.20/TD_CONVOLVE.json +80 -80
- teradataml/data/jsons/uaf/17.20/TD_CONVOLVE2.json +67 -67
- teradataml/data/jsons/uaf/17.20/TD_CUMUL_PERIODOGRAM.json +91 -91
- teradataml/data/jsons/uaf/17.20/TD_DFFT.json +136 -136
- teradataml/data/jsons/uaf/17.20/TD_DFFT2.json +148 -148
- teradataml/data/jsons/uaf/17.20/TD_DFFT2CONV.json +108 -108
- teradataml/data/jsons/uaf/17.20/TD_DFFTCONV.json +109 -109
- teradataml/data/jsons/uaf/17.20/TD_DICKEY_FULLER.json +86 -86
- teradataml/data/jsons/uaf/17.20/TD_DIFF.json +91 -91
- teradataml/data/jsons/uaf/17.20/TD_DTW.json +116 -116
- teradataml/data/jsons/uaf/17.20/TD_DURBIN_WATSON.json +100 -100
- teradataml/data/jsons/uaf/17.20/TD_EXTRACT_RESULTS.json +38 -38
- teradataml/data/jsons/uaf/17.20/TD_FITMETRICS.json +100 -100
- teradataml/data/jsons/uaf/17.20/TD_GENSERIES4FORMULA.json +84 -84
- teradataml/data/jsons/uaf/17.20/TD_GENSERIES4SINUSOIDS.json +70 -70
- teradataml/data/jsons/uaf/17.20/TD_GOLDFELD_QUANDT.json +152 -152
- teradataml/data/jsons/uaf/17.20/TD_HOLT_WINTERS_FORECAST.json +313 -313
- teradataml/data/jsons/uaf/17.20/TD_IDFFT.json +57 -57
- teradataml/data/jsons/uaf/17.20/TD_IDFFT2.json +94 -94
- teradataml/data/jsons/uaf/17.20/TD_INPUTVALIDATOR.json +63 -63
- teradataml/data/jsons/uaf/17.20/TD_LINEAR_REGR.json +181 -181
- teradataml/data/jsons/uaf/17.20/TD_LINESPEC.json +102 -102
- teradataml/data/jsons/uaf/17.20/TD_MAMEAN.json +182 -182
- teradataml/data/jsons/uaf/17.20/TD_MATRIXMULTIPLY.json +67 -67
- teradataml/data/jsons/uaf/17.20/TD_MINFO.json +66 -66
- teradataml/data/jsons/uaf/17.20/TD_MULTIVAR_REGR.json +178 -178
- teradataml/data/jsons/uaf/17.20/TD_PACF.json +114 -114
- teradataml/data/jsons/uaf/17.20/TD_PORTMAN.json +118 -118
- teradataml/data/jsons/uaf/17.20/TD_POWERSPEC.json +175 -175
- teradataml/data/jsons/uaf/17.20/TD_POWERTRANSFORM.json +97 -97
- teradataml/data/jsons/uaf/17.20/TD_RESAMPLE.json +173 -173
- teradataml/data/jsons/uaf/17.20/TD_SEASONALNORMALIZE.json +136 -136
- teradataml/data/jsons/uaf/17.20/TD_SELECTION_CRITERIA.json +89 -89
- teradataml/data/jsons/uaf/17.20/TD_SIGNIF_PERIODICITIES.json +79 -79
- teradataml/data/jsons/uaf/17.20/TD_SIGNIF_RESIDMEAN.json +67 -67
- teradataml/data/jsons/uaf/17.20/TD_SIMPLEEXP.json +184 -184
- teradataml/data/jsons/uaf/17.20/TD_SINFO.json +57 -57
- teradataml/data/jsons/uaf/17.20/TD_SMOOTHMA.json +162 -162
- teradataml/data/jsons/uaf/17.20/TD_TRACKINGOP.json +100 -100
- teradataml/data/jsons/uaf/17.20/TD_UNDIFF.json +111 -111
- teradataml/data/jsons/uaf/17.20/TD_UNNORMALIZE.json +95 -95
- teradataml/data/jsons/uaf/17.20/TD_WHITES_GENERAL.json +77 -77
- teradataml/data/kmeans_example.json +17 -17
- teradataml/data/kmeans_us_arrests_data.csv +0 -0
- teradataml/data/knn_example.json +18 -18
- teradataml/data/knnrecommender_example.json +6 -6
- teradataml/data/knnrecommenderpredict_example.json +12 -12
- teradataml/data/lar_example.json +17 -17
- teradataml/data/larpredict_example.json +30 -30
- teradataml/data/lc_new_predictors.csv +5 -5
- teradataml/data/lc_new_reference.csv +9 -9
- teradataml/data/lda_example.json +8 -8
- teradataml/data/ldainference_example.json +14 -14
- teradataml/data/ldatopicsummary_example.json +8 -8
- teradataml/data/levendist_input.csv +13 -13
- teradataml/data/levenshteindistance_example.json +10 -10
- teradataml/data/linreg_example.json +9 -9
- teradataml/data/load_example_data.py +326 -323
- teradataml/data/loan_prediction.csv +295 -295
- teradataml/data/lungcancer.csv +138 -138
- teradataml/data/mappingdata.csv +12 -12
- teradataml/data/milk_timeseries.csv +157 -157
- teradataml/data/min_max_titanic.csv +4 -4
- teradataml/data/minhash_example.json +6 -6
- teradataml/data/ml_ratings.csv +7547 -7547
- teradataml/data/ml_ratings_10.csv +2445 -2445
- teradataml/data/model1_table.csv +5 -5
- teradataml/data/model2_table.csv +5 -5
- teradataml/data/models/iris_db_glm_model.pmml +56 -56
- teradataml/data/models/iris_db_xgb_model.pmml +4471 -4471
- teradataml/data/modularity_example.json +12 -12
- teradataml/data/movavg_example.json +7 -7
- teradataml/data/mtx1.csv +7 -7
- teradataml/data/mtx2.csv +13 -13
- teradataml/data/multi_model_classification.csv +401 -0
- teradataml/data/multi_model_regression.csv +401 -0
- teradataml/data/mvdfft8.csv +9 -9
- teradataml/data/naivebayes_example.json +9 -9
- teradataml/data/naivebayespredict_example.json +19 -19
- teradataml/data/naivebayestextclassifier2_example.json +6 -6
- teradataml/data/naivebayestextclassifier_example.json +8 -8
- teradataml/data/naivebayestextclassifierpredict_example.json +20 -20
- teradataml/data/name_Find_configure.csv +10 -10
- teradataml/data/namedentityfinder_example.json +14 -14
- teradataml/data/namedentityfinderevaluator_example.json +10 -10
- teradataml/data/namedentityfindertrainer_example.json +6 -6
- teradataml/data/nb_iris_input_test.csv +31 -31
- teradataml/data/nb_iris_input_train.csv +121 -121
- teradataml/data/nbp_iris_model.csv +13 -13
- teradataml/data/ner_extractor_text.csv +2 -2
- teradataml/data/ner_sports_test2.csv +29 -29
- teradataml/data/ner_sports_train.csv +501 -501
- teradataml/data/nerevaluator_example.json +5 -5
- teradataml/data/nerextractor_example.json +18 -18
- teradataml/data/nermem_sports_test.csv +17 -17
- teradataml/data/nermem_sports_train.csv +50 -50
- teradataml/data/nertrainer_example.json +6 -6
- teradataml/data/ngrams_example.json +6 -6
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Aggregate Functions using SQLAlchemy.ipynb +1455 -1455
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Arithmetic Functions Using SQLAlchemy.ipynb +1993 -1993
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Bit-Byte Manipulation Functions using SQLAlchemy.ipynb +1492 -1492
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Built-in functions using SQLAlchemy.ipynb +536 -536
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Regular Expressions Using SQLAlchemy.ipynb +570 -570
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage String Functions Using SQLAlchemy.ipynb +2559 -2559
- teradataml/data/notebooks/sqlalchemy/Teradata Vantage Window Aggregate Functions using SQLAlchemy.ipynb +2911 -2911
- teradataml/data/notebooks/sqlalchemy/Using Generic SQLAlchemy ClauseElements teradataml DataFrame assign method.ipynb +698 -698
- teradataml/data/notebooks/sqlalchemy/teradataml filtering using SQLAlchemy ClauseElements.ipynb +784 -784
- teradataml/data/npath_example.json +23 -23
- teradataml/data/ntree_example.json +14 -14
- teradataml/data/numeric_strings.csv +4 -4
- teradataml/data/numerics.csv +4 -4
- teradataml/data/ocean_buoy.csv +17 -17
- teradataml/data/ocean_buoy2.csv +17 -17
- teradataml/data/ocean_buoys.csv +27 -27
- teradataml/data/ocean_buoys2.csv +10 -10
- teradataml/data/ocean_buoys_nonpti.csv +28 -28
- teradataml/data/ocean_buoys_seq.csv +29 -29
- teradataml/data/openml_example.json +63 -0
- teradataml/data/optional_event_table.csv +4 -4
- teradataml/data/orders1.csv +11 -11
- teradataml/data/orders1_12.csv +12 -12
- teradataml/data/orders_ex.csv +4 -4
- teradataml/data/pack_example.json +8 -8
- teradataml/data/package_tracking.csv +19 -19
- teradataml/data/package_tracking_pti.csv +18 -18
- teradataml/data/pagerank_example.json +13 -13
- teradataml/data/paragraphs_input.csv +6 -6
- teradataml/data/pathanalyzer_example.json +7 -7
- teradataml/data/pathgenerator_example.json +7 -7
- teradataml/data/phrases.csv +7 -7
- teradataml/data/pivot_example.json +8 -8
- teradataml/data/pivot_input.csv +22 -22
- teradataml/data/playerRating.csv +31 -31
- teradataml/data/postagger_example.json +6 -6
- teradataml/data/posttagger_output.csv +44 -44
- teradataml/data/production_data.csv +16 -16
- teradataml/data/production_data2.csv +7 -7
- teradataml/data/randomsample_example.json +31 -31
- teradataml/data/randomwalksample_example.json +8 -8
- teradataml/data/rank_table.csv +6 -6
- teradataml/data/ref_mobile_data.csv +4 -4
- teradataml/data/ref_mobile_data_dense.csv +2 -2
- teradataml/data/ref_url.csv +17 -17
- teradataml/data/restaurant_reviews.csv +7 -7
- teradataml/data/river_data.csv +145 -145
- teradataml/data/roc_example.json +7 -7
- teradataml/data/roc_input.csv +101 -101
- teradataml/data/rule_inputs.csv +6 -6
- teradataml/data/rule_table.csv +2 -2
- teradataml/data/sales.csv +7 -7
- teradataml/data/sales_transaction.csv +501 -501
- teradataml/data/salesdata.csv +342 -342
- teradataml/data/sample_cities.csv +2 -2
- teradataml/data/sample_shapes.csv +10 -10
- teradataml/data/sample_streets.csv +2 -2
- teradataml/data/sampling_example.json +15 -15
- teradataml/data/sax_example.json +8 -8
- teradataml/data/scale_example.json +23 -23
- teradataml/data/scale_housing.csv +11 -11
- teradataml/data/scale_housing_test.csv +6 -6
- teradataml/data/scale_stat.csv +11 -11
- teradataml/data/scalebypartition_example.json +13 -13
- teradataml/data/scalemap_example.json +13 -13
- teradataml/data/scalesummary_example.json +12 -12
- teradataml/data/score_category.csv +101 -101
- teradataml/data/score_summary.csv +4 -4
- teradataml/data/script_example.json +9 -9
- teradataml/data/scripts/deploy_script.py +65 -0
- teradataml/data/scripts/mapper.R +20 -0
- teradataml/data/scripts/mapper.py +15 -15
- teradataml/data/scripts/mapper_replace.py +15 -15
- teradataml/data/scripts/sklearn/__init__.py +0 -0
- teradataml/data/scripts/sklearn/sklearn_fit.py +175 -0
- teradataml/data/scripts/sklearn/sklearn_fit_predict.py +135 -0
- teradataml/data/scripts/sklearn/sklearn_function.template +113 -0
- teradataml/data/scripts/sklearn/sklearn_model_selection_split.py +158 -0
- teradataml/data/scripts/sklearn/sklearn_neighbors.py +152 -0
- teradataml/data/scripts/sklearn/sklearn_score.py +128 -0
- teradataml/data/scripts/sklearn/sklearn_transform.py +179 -0
- teradataml/data/seeds.csv +10 -10
- teradataml/data/sentenceextractor_example.json +6 -6
- teradataml/data/sentiment_extract_input.csv +11 -11
- teradataml/data/sentiment_train.csv +16 -16
- teradataml/data/sentiment_word.csv +20 -20
- teradataml/data/sentiment_word_input.csv +19 -19
- teradataml/data/sentimentextractor_example.json +24 -24
- teradataml/data/sentimenttrainer_example.json +8 -8
- teradataml/data/sequence_table.csv +10 -10
- teradataml/data/seriessplitter_example.json +7 -7
- teradataml/data/sessionize_example.json +17 -17
- teradataml/data/sessionize_table.csv +116 -116
- teradataml/data/setop_test1.csv +24 -24
- teradataml/data/setop_test2.csv +22 -22
- teradataml/data/soc_nw_edges.csv +10 -10
- teradataml/data/soc_nw_vertices.csv +7 -7
- teradataml/data/souvenir_timeseries.csv +167 -167
- teradataml/data/sparse_iris_attribute.csv +5 -5
- teradataml/data/sparse_iris_test.csv +121 -121
- teradataml/data/sparse_iris_train.csv +601 -601
- teradataml/data/star1.csv +6 -6
- teradataml/data/state_transition.csv +5 -5
- teradataml/data/stock_data.csv +53 -53
- teradataml/data/stock_movement.csv +11 -11
- teradataml/data/stock_vol.csv +76 -76
- teradataml/data/stop_words.csv +8 -8
- teradataml/data/store_sales.csv +37 -37
- teradataml/data/stringsimilarity_example.json +7 -7
- teradataml/data/strsimilarity_input.csv +13 -13
- teradataml/data/students.csv +101 -101
- teradataml/data/svm_iris_input_test.csv +121 -121
- teradataml/data/svm_iris_input_train.csv +481 -481
- teradataml/data/svm_iris_model.csv +7 -7
- teradataml/data/svmdense_example.json +9 -9
- teradataml/data/svmdensepredict_example.json +18 -18
- teradataml/data/svmsparse_example.json +7 -7
- teradataml/data/svmsparsepredict_example.json +13 -13
- teradataml/data/svmsparsesummary_example.json +7 -7
- teradataml/data/target_mobile_data.csv +13 -13
- teradataml/data/target_mobile_data_dense.csv +5 -5
- teradataml/data/templatedata.csv +1201 -1201
- teradataml/data/templates/open_source_ml.json +9 -0
- teradataml/data/teradataml_example.json +73 -1
- teradataml/data/test_classification.csv +101 -0
- teradataml/data/test_loan_prediction.csv +53 -53
- teradataml/data/test_pacf_12.csv +37 -37
- teradataml/data/test_prediction.csv +101 -0
- teradataml/data/test_regression.csv +101 -0
- teradataml/data/test_river2.csv +109 -109
- teradataml/data/text_inputs.csv +6 -6
- teradataml/data/textchunker_example.json +7 -7
- teradataml/data/textclassifier_example.json +6 -6
- teradataml/data/textclassifier_input.csv +7 -7
- teradataml/data/textclassifiertrainer_example.json +6 -6
- teradataml/data/textmorph_example.json +5 -5
- teradataml/data/textparser_example.json +15 -15
- teradataml/data/texttagger_example.json +11 -11
- teradataml/data/texttokenizer_example.json +6 -6
- teradataml/data/texttrainer_input.csv +11 -11
- teradataml/data/tf_example.json +6 -6
- teradataml/data/tfidf_example.json +13 -13
- teradataml/data/tfidf_input1.csv +201 -201
- teradataml/data/tfidf_train.csv +6 -6
- teradataml/data/time_table1.csv +535 -535
- teradataml/data/time_table2.csv +14 -14
- teradataml/data/timeseriesdata.csv +1601 -1601
- teradataml/data/timeseriesdatasetsd4.csv +105 -105
- teradataml/data/titanic.csv +892 -892
- teradataml/data/token_table.csv +696 -696
- teradataml/data/train_multiclass.csv +101 -0
- teradataml/data/train_regression.csv +101 -0
- teradataml/data/train_regression_multiple_labels.csv +101 -0
- teradataml/data/train_tracking.csv +27 -27
- teradataml/data/transformation_table.csv +5 -5
- teradataml/data/transformation_table_new.csv +1 -1
- teradataml/data/tv_spots.csv +16 -16
- teradataml/data/twod_climate_data.csv +117 -117
- teradataml/data/uaf_example.json +475 -475
- teradataml/data/univariatestatistics_example.json +8 -8
- teradataml/data/unpack_example.json +9 -9
- teradataml/data/unpivot_example.json +9 -9
- teradataml/data/unpivot_input.csv +8 -8
- teradataml/data/us_air_pass.csv +36 -36
- teradataml/data/us_population.csv +624 -624
- teradataml/data/us_states_shapes.csv +52 -52
- teradataml/data/varmax_example.json +17 -17
- teradataml/data/vectordistance_example.json +25 -25
- teradataml/data/ville_climatedata.csv +121 -121
- teradataml/data/ville_tempdata.csv +12 -12
- teradataml/data/ville_tempdata1.csv +12 -12
- teradataml/data/ville_temperature.csv +11 -11
- teradataml/data/waveletTable.csv +1605 -1605
- teradataml/data/waveletTable2.csv +1605 -1605
- teradataml/data/weightedmovavg_example.json +8 -8
- teradataml/data/wft_testing.csv +5 -5
- teradataml/data/wine_data.csv +1600 -0
- teradataml/data/word_embed_input_table1.csv +5 -5
- teradataml/data/word_embed_input_table2.csv +4 -4
- teradataml/data/word_embed_model.csv +22 -22
- teradataml/data/words_input.csv +13 -13
- teradataml/data/xconvolve_complex_left.csv +6 -6
- teradataml/data/xconvolve_complex_leftmulti.csv +6 -6
- teradataml/data/xgboost_example.json +35 -35
- teradataml/data/xgboostpredict_example.json +31 -31
- teradataml/dataframe/copy_to.py +1764 -1698
- teradataml/dataframe/data_transfer.py +2753 -2745
- teradataml/dataframe/dataframe.py +17545 -16946
- teradataml/dataframe/dataframe_utils.py +1837 -1740
- teradataml/dataframe/fastload.py +611 -603
- teradataml/dataframe/indexer.py +424 -424
- teradataml/dataframe/setop.py +1179 -1166
- teradataml/dataframe/sql.py +10090 -6432
- teradataml/dataframe/sql_function_parameters.py +439 -388
- teradataml/dataframe/sql_functions.py +652 -652
- teradataml/dataframe/sql_interfaces.py +220 -220
- teradataml/dataframe/vantage_function_types.py +674 -630
- teradataml/dataframe/window.py +693 -692
- teradataml/dbutils/__init__.py +3 -3
- teradataml/dbutils/dbutils.py +1167 -1150
- teradataml/dbutils/filemgr.py +267 -267
- teradataml/gen_ai/__init__.py +2 -2
- teradataml/gen_ai/convAI.py +472 -472
- teradataml/geospatial/__init__.py +3 -3
- teradataml/geospatial/geodataframe.py +1105 -1094
- teradataml/geospatial/geodataframecolumn.py +392 -387
- teradataml/geospatial/geometry_types.py +925 -925
- teradataml/hyperparameter_tuner/__init__.py +1 -1
- teradataml/hyperparameter_tuner/optimizer.py +3783 -2993
- teradataml/hyperparameter_tuner/utils.py +281 -187
- teradataml/lib/aed_0_1.dll +0 -0
- teradataml/lib/libaed_0_1.dylib +0 -0
- teradataml/lib/libaed_0_1.so +0 -0
- teradataml/libaed_0_1.dylib +0 -0
- teradataml/libaed_0_1.so +0 -0
- teradataml/opensource/__init__.py +1 -0
- teradataml/opensource/sklearn/__init__.py +1 -0
- teradataml/opensource/sklearn/_class.py +255 -0
- teradataml/opensource/sklearn/_sklearn_wrapper.py +1668 -0
- teradataml/opensource/sklearn/_wrapper_utils.py +268 -0
- teradataml/opensource/sklearn/constants.py +54 -0
- teradataml/options/__init__.py +121 -124
- teradataml/options/configure.py +337 -336
- teradataml/options/display.py +176 -176
- teradataml/plot/__init__.py +2 -2
- teradataml/plot/axis.py +1388 -1388
- teradataml/plot/constants.py +15 -15
- teradataml/plot/figure.py +398 -398
- teradataml/plot/plot.py +760 -760
- teradataml/plot/query_generator.py +83 -83
- teradataml/plot/subplot.py +216 -216
- teradataml/scriptmgmt/UserEnv.py +3788 -3761
- teradataml/scriptmgmt/__init__.py +3 -3
- teradataml/scriptmgmt/lls_utils.py +1616 -1604
- teradataml/series/series.py +532 -532
- teradataml/series/series_utils.py +71 -71
- teradataml/table_operators/Apply.py +949 -917
- teradataml/table_operators/Script.py +1719 -1982
- teradataml/table_operators/TableOperator.py +1207 -1616
- teradataml/table_operators/__init__.py +2 -3
- teradataml/table_operators/apply_query_generator.py +262 -262
- teradataml/table_operators/query_generator.py +507 -507
- teradataml/table_operators/table_operator_query_generator.py +460 -460
- teradataml/table_operators/table_operator_util.py +631 -639
- teradataml/table_operators/templates/dataframe_apply.template +184 -184
- teradataml/table_operators/templates/dataframe_map.template +176 -176
- teradataml/table_operators/templates/script_executor.template +170 -170
- teradataml/utils/dtypes.py +684 -684
- teradataml/utils/internal_buffer.py +84 -84
- teradataml/utils/print_versions.py +205 -205
- teradataml/utils/utils.py +410 -410
- teradataml/utils/validators.py +2239 -2115
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.0.dist-info}/METADATA +270 -41
- teradataml-20.0.0.0.dist-info/RECORD +1038 -0
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.0.dist-info}/WHEEL +1 -1
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.0.dist-info}/zip-safe +1 -1
- teradataml/analytics/mle/AdaBoost.py +0 -651
- teradataml/analytics/mle/AdaBoostPredict.py +0 -564
- teradataml/analytics/mle/Antiselect.py +0 -342
- teradataml/analytics/mle/Arima.py +0 -641
- teradataml/analytics/mle/ArimaPredict.py +0 -477
- teradataml/analytics/mle/Attribution.py +0 -1070
- teradataml/analytics/mle/Betweenness.py +0 -658
- teradataml/analytics/mle/Burst.py +0 -711
- teradataml/analytics/mle/CCM.py +0 -600
- teradataml/analytics/mle/CCMPrepare.py +0 -324
- teradataml/analytics/mle/CFilter.py +0 -460
- teradataml/analytics/mle/ChangePointDetection.py +0 -572
- teradataml/analytics/mle/ChangePointDetectionRT.py +0 -477
- teradataml/analytics/mle/Closeness.py +0 -737
- teradataml/analytics/mle/ConfusionMatrix.py +0 -420
- teradataml/analytics/mle/Correlation.py +0 -477
- teradataml/analytics/mle/Correlation2.py +0 -573
- teradataml/analytics/mle/CoxHazardRatio.py +0 -679
- teradataml/analytics/mle/CoxPH.py +0 -556
- teradataml/analytics/mle/CoxSurvival.py +0 -478
- teradataml/analytics/mle/CumulativeMovAvg.py +0 -363
- teradataml/analytics/mle/DTW.py +0 -623
- teradataml/analytics/mle/DWT.py +0 -564
- teradataml/analytics/mle/DWT2D.py +0 -599
- teradataml/analytics/mle/DecisionForest.py +0 -716
- teradataml/analytics/mle/DecisionForestEvaluator.py +0 -363
- teradataml/analytics/mle/DecisionForestPredict.py +0 -561
- teradataml/analytics/mle/DecisionTree.py +0 -830
- teradataml/analytics/mle/DecisionTreePredict.py +0 -528
- teradataml/analytics/mle/ExponentialMovAvg.py +0 -418
- teradataml/analytics/mle/FMeasure.py +0 -402
- teradataml/analytics/mle/FPGrowth.py +0 -734
- teradataml/analytics/mle/FrequentPaths.py +0 -695
- teradataml/analytics/mle/GLM.py +0 -558
- teradataml/analytics/mle/GLML1L2.py +0 -547
- teradataml/analytics/mle/GLML1L2Predict.py +0 -519
- teradataml/analytics/mle/GLMPredict.py +0 -529
- teradataml/analytics/mle/HMMDecoder.py +0 -945
- teradataml/analytics/mle/HMMEvaluator.py +0 -901
- teradataml/analytics/mle/HMMSupervised.py +0 -521
- teradataml/analytics/mle/HMMUnsupervised.py +0 -572
- teradataml/analytics/mle/Histogram.py +0 -561
- teradataml/analytics/mle/IDWT.py +0 -476
- teradataml/analytics/mle/IDWT2D.py +0 -493
- teradataml/analytics/mle/IdentityMatch.py +0 -763
- teradataml/analytics/mle/Interpolator.py +0 -918
- teradataml/analytics/mle/KMeans.py +0 -485
- teradataml/analytics/mle/KNN.py +0 -627
- teradataml/analytics/mle/KNNRecommender.py +0 -488
- teradataml/analytics/mle/KNNRecommenderPredict.py +0 -581
- teradataml/analytics/mle/LAR.py +0 -439
- teradataml/analytics/mle/LARPredict.py +0 -478
- teradataml/analytics/mle/LDA.py +0 -548
- teradataml/analytics/mle/LDAInference.py +0 -492
- teradataml/analytics/mle/LDATopicSummary.py +0 -464
- teradataml/analytics/mle/LevenshteinDistance.py +0 -450
- teradataml/analytics/mle/LinReg.py +0 -433
- teradataml/analytics/mle/LinRegPredict.py +0 -438
- teradataml/analytics/mle/MinHash.py +0 -544
- teradataml/analytics/mle/Modularity.py +0 -587
- teradataml/analytics/mle/NEREvaluator.py +0 -410
- teradataml/analytics/mle/NERExtractor.py +0 -595
- teradataml/analytics/mle/NERTrainer.py +0 -458
- teradataml/analytics/mle/NGrams.py +0 -570
- teradataml/analytics/mle/NPath.py +0 -634
- teradataml/analytics/mle/NTree.py +0 -549
- teradataml/analytics/mle/NaiveBayes.py +0 -462
- teradataml/analytics/mle/NaiveBayesPredict.py +0 -513
- teradataml/analytics/mle/NaiveBayesTextClassifier.py +0 -607
- teradataml/analytics/mle/NaiveBayesTextClassifier2.py +0 -531
- teradataml/analytics/mle/NaiveBayesTextClassifierPredict.py +0 -799
- teradataml/analytics/mle/NamedEntityFinder.py +0 -529
- teradataml/analytics/mle/NamedEntityFinderEvaluator.py +0 -414
- teradataml/analytics/mle/NamedEntityFinderTrainer.py +0 -396
- teradataml/analytics/mle/POSTagger.py +0 -417
- teradataml/analytics/mle/Pack.py +0 -411
- teradataml/analytics/mle/PageRank.py +0 -535
- teradataml/analytics/mle/PathAnalyzer.py +0 -426
- teradataml/analytics/mle/PathGenerator.py +0 -367
- teradataml/analytics/mle/PathStart.py +0 -464
- teradataml/analytics/mle/PathSummarizer.py +0 -470
- teradataml/analytics/mle/Pivot.py +0 -471
- teradataml/analytics/mle/ROC.py +0 -425
- teradataml/analytics/mle/RandomSample.py +0 -637
- teradataml/analytics/mle/RandomWalkSample.py +0 -490
- teradataml/analytics/mle/SAX.py +0 -779
- teradataml/analytics/mle/SVMDense.py +0 -677
- teradataml/analytics/mle/SVMDensePredict.py +0 -536
- teradataml/analytics/mle/SVMDenseSummary.py +0 -437
- teradataml/analytics/mle/SVMSparse.py +0 -557
- teradataml/analytics/mle/SVMSparsePredict.py +0 -553
- teradataml/analytics/mle/SVMSparseSummary.py +0 -435
- teradataml/analytics/mle/Sampling.py +0 -549
- teradataml/analytics/mle/Scale.py +0 -565
- teradataml/analytics/mle/ScaleByPartition.py +0 -496
- teradataml/analytics/mle/ScaleMap.py +0 -378
- teradataml/analytics/mle/ScaleSummary.py +0 -320
- teradataml/analytics/mle/SentenceExtractor.py +0 -363
- teradataml/analytics/mle/SentimentEvaluator.py +0 -432
- teradataml/analytics/mle/SentimentExtractor.py +0 -578
- teradataml/analytics/mle/SentimentTrainer.py +0 -405
- teradataml/analytics/mle/SeriesSplitter.py +0 -641
- teradataml/analytics/mle/Sessionize.py +0 -475
- teradataml/analytics/mle/SimpleMovAvg.py +0 -397
- teradataml/analytics/mle/StringSimilarity.py +0 -425
- teradataml/analytics/mle/TF.py +0 -389
- teradataml/analytics/mle/TFIDF.py +0 -504
- teradataml/analytics/mle/TextChunker.py +0 -414
- teradataml/analytics/mle/TextClassifier.py +0 -399
- teradataml/analytics/mle/TextClassifierEvaluator.py +0 -413
- teradataml/analytics/mle/TextClassifierTrainer.py +0 -565
- teradataml/analytics/mle/TextMorph.py +0 -494
- teradataml/analytics/mle/TextParser.py +0 -623
- teradataml/analytics/mle/TextTagger.py +0 -530
- teradataml/analytics/mle/TextTokenizer.py +0 -502
- teradataml/analytics/mle/UnivariateStatistics.py +0 -488
- teradataml/analytics/mle/Unpack.py +0 -526
- teradataml/analytics/mle/Unpivot.py +0 -438
- teradataml/analytics/mle/VarMax.py +0 -776
- teradataml/analytics/mle/VectorDistance.py +0 -762
- teradataml/analytics/mle/WeightedMovAvg.py +0 -400
- teradataml/analytics/mle/XGBoost.py +0 -842
- teradataml/analytics/mle/XGBoostPredict.py +0 -627
- teradataml/analytics/mle/__init__.py +0 -123
- teradataml/analytics/mle/json/adaboost_mle.json +0 -135
- teradataml/analytics/mle/json/adaboostpredict_mle.json +0 -85
- teradataml/analytics/mle/json/antiselect_mle.json +0 -34
- teradataml/analytics/mle/json/antiselect_mle_mle.json +0 -34
- teradataml/analytics/mle/json/arima_mle.json +0 -172
- teradataml/analytics/mle/json/arimapredict_mle.json +0 -52
- teradataml/analytics/mle/json/attribution_mle_mle.json +0 -143
- teradataml/analytics/mle/json/betweenness_mle.json +0 -97
- teradataml/analytics/mle/json/burst_mle.json +0 -140
- teradataml/analytics/mle/json/ccm_mle.json +0 -124
- teradataml/analytics/mle/json/ccmprepare_mle.json +0 -14
- teradataml/analytics/mle/json/cfilter_mle.json +0 -93
- teradataml/analytics/mle/json/changepointdetection_mle.json +0 -92
- teradataml/analytics/mle/json/changepointdetectionrt_mle.json +0 -78
- teradataml/analytics/mle/json/closeness_mle.json +0 -104
- teradataml/analytics/mle/json/confusionmatrix_mle.json +0 -79
- teradataml/analytics/mle/json/correlation_mle.json +0 -86
- teradataml/analytics/mle/json/correlationreduce_mle.json +0 -49
- teradataml/analytics/mle/json/coxhazardratio_mle.json +0 -89
- teradataml/analytics/mle/json/coxph_mle.json +0 -98
- teradataml/analytics/mle/json/coxsurvival_mle.json +0 -79
- teradataml/analytics/mle/json/cumulativemovavg_mle.json +0 -34
- teradataml/analytics/mle/json/decisionforest_mle.json +0 -167
- teradataml/analytics/mle/json/decisionforestevaluator_mle.json +0 -33
- teradataml/analytics/mle/json/decisionforestpredict_mle_mle.json +0 -74
- teradataml/analytics/mle/json/decisiontree_mle.json +0 -194
- teradataml/analytics/mle/json/decisiontreepredict_mle_mle.json +0 -86
- teradataml/analytics/mle/json/dtw_mle.json +0 -97
- teradataml/analytics/mle/json/dwt2d_mle.json +0 -116
- teradataml/analytics/mle/json/dwt_mle.json +0 -101
- teradataml/analytics/mle/json/exponentialmovavg_mle.json +0 -55
- teradataml/analytics/mle/json/fmeasure_mle.json +0 -58
- teradataml/analytics/mle/json/fpgrowth_mle.json +0 -159
- teradataml/analytics/mle/json/frequentpaths_mle.json +0 -129
- teradataml/analytics/mle/json/glm_mle.json +0 -111
- teradataml/analytics/mle/json/glml1l2_mle.json +0 -106
- teradataml/analytics/mle/json/glml1l2predict_mle.json +0 -57
- teradataml/analytics/mle/json/glmpredict_mle_mle.json +0 -74
- teradataml/analytics/mle/json/histogram_mle.json +0 -100
- teradataml/analytics/mle/json/hmmdecoder_mle.json +0 -192
- teradataml/analytics/mle/json/hmmevaluator_mle.json +0 -206
- teradataml/analytics/mle/json/hmmsupervised_mle.json +0 -91
- teradataml/analytics/mle/json/hmmunsupervised_mle.json +0 -114
- teradataml/analytics/mle/json/identitymatch_mle.json +0 -88
- teradataml/analytics/mle/json/idwt2d_mle.json +0 -73
- teradataml/analytics/mle/json/idwt_mle.json +0 -66
- teradataml/analytics/mle/json/interpolator_mle.json +0 -151
- teradataml/analytics/mle/json/kmeans_mle.json +0 -97
- teradataml/analytics/mle/json/knn_mle.json +0 -141
- teradataml/analytics/mle/json/knnrecommender_mle.json +0 -111
- teradataml/analytics/mle/json/knnrecommenderpredict_mle.json +0 -75
- teradataml/analytics/mle/json/lar_mle.json +0 -78
- teradataml/analytics/mle/json/larpredict_mle.json +0 -69
- teradataml/analytics/mle/json/lda_mle.json +0 -130
- teradataml/analytics/mle/json/ldainference_mle.json +0 -78
- teradataml/analytics/mle/json/ldatopicsummary_mle.json +0 -64
- teradataml/analytics/mle/json/levenshteindistance_mle.json +0 -92
- teradataml/analytics/mle/json/linreg_mle.json +0 -42
- teradataml/analytics/mle/json/linregpredict_mle.json +0 -56
- teradataml/analytics/mle/json/minhash_mle.json +0 -113
- teradataml/analytics/mle/json/modularity_mle.json +0 -91
- teradataml/analytics/mle/json/naivebayespredict_mle_mle.json +0 -85
- teradataml/analytics/mle/json/naivebayesreduce_mle.json +0 -52
- teradataml/analytics/mle/json/naivebayestextclassifierpredict_mle_mle.json +0 -147
- teradataml/analytics/mle/json/naivebayestextclassifiertrainer2_mle.json +0 -108
- teradataml/analytics/mle/json/naivebayestextclassifiertrainer_mle.json +0 -102
- teradataml/analytics/mle/json/namedentityfinder_mle.json +0 -84
- teradataml/analytics/mle/json/namedentityfinderevaluatorreduce_mle.json +0 -43
- teradataml/analytics/mle/json/namedentityfindertrainer_mle.json +0 -64
- teradataml/analytics/mle/json/nerevaluator_mle.json +0 -54
- teradataml/analytics/mle/json/nerextractor_mle.json +0 -87
- teradataml/analytics/mle/json/nertrainer_mle.json +0 -89
- teradataml/analytics/mle/json/ngrams_mle.json +0 -137
- teradataml/analytics/mle/json/ngramsplitter_mle_mle.json +0 -137
- teradataml/analytics/mle/json/npath@coprocessor_mle.json +0 -73
- teradataml/analytics/mle/json/ntree@coprocessor_mle.json +0 -123
- teradataml/analytics/mle/json/pack_mle.json +0 -58
- teradataml/analytics/mle/json/pack_mle_mle.json +0 -58
- teradataml/analytics/mle/json/pagerank_mle.json +0 -81
- teradataml/analytics/mle/json/pathanalyzer_mle.json +0 -63
- teradataml/analytics/mle/json/pathgenerator_mle.json +0 -40
- teradataml/analytics/mle/json/pathstart_mle.json +0 -62
- teradataml/analytics/mle/json/pathsummarizer_mle.json +0 -72
- teradataml/analytics/mle/json/pivoting_mle.json +0 -71
- teradataml/analytics/mle/json/postagger_mle.json +0 -51
- teradataml/analytics/mle/json/randomsample_mle.json +0 -131
- teradataml/analytics/mle/json/randomwalksample_mle.json +0 -85
- teradataml/analytics/mle/json/roc_mle.json +0 -73
- teradataml/analytics/mle/json/sampling_mle.json +0 -75
- teradataml/analytics/mle/json/sax_mle.json +0 -154
- teradataml/analytics/mle/json/scale_mle.json +0 -93
- teradataml/analytics/mle/json/scalebypartition_mle.json +0 -89
- teradataml/analytics/mle/json/scalemap_mle.json +0 -44
- teradataml/analytics/mle/json/scalesummary_mle.json +0 -14
- teradataml/analytics/mle/json/sentenceextractor_mle.json +0 -41
- teradataml/analytics/mle/json/sentimentevaluator_mle.json +0 -43
- teradataml/analytics/mle/json/sentimentextractor_mle.json +0 -100
- teradataml/analytics/mle/json/sentimenttrainer_mle.json +0 -68
- teradataml/analytics/mle/json/seriessplitter_mle.json +0 -133
- teradataml/analytics/mle/json/sessionize_mle_mle.json +0 -62
- teradataml/analytics/mle/json/simplemovavg_mle.json +0 -48
- teradataml/analytics/mle/json/stringsimilarity_mle.json +0 -50
- teradataml/analytics/mle/json/stringsimilarity_mle_mle.json +0 -50
- teradataml/analytics/mle/json/svmdense_mle.json +0 -165
- teradataml/analytics/mle/json/svmdensepredict_mle.json +0 -95
- teradataml/analytics/mle/json/svmdensesummary_mle.json +0 -58
- teradataml/analytics/mle/json/svmsparse_mle.json +0 -148
- teradataml/analytics/mle/json/svmsparsepredict_mle_mle.json +0 -103
- teradataml/analytics/mle/json/svmsparsesummary_mle.json +0 -57
- teradataml/analytics/mle/json/textchunker_mle.json +0 -40
- teradataml/analytics/mle/json/textclassifier_mle.json +0 -51
- teradataml/analytics/mle/json/textclassifierevaluator_mle.json +0 -43
- teradataml/analytics/mle/json/textclassifiertrainer_mle.json +0 -103
- teradataml/analytics/mle/json/textmorph_mle.json +0 -63
- teradataml/analytics/mle/json/textparser_mle.json +0 -166
- teradataml/analytics/mle/json/texttagger_mle.json +0 -81
- teradataml/analytics/mle/json/texttokenizer_mle.json +0 -91
- teradataml/analytics/mle/json/tf_mle.json +0 -33
- teradataml/analytics/mle/json/tfidf_mle.json +0 -34
- teradataml/analytics/mle/json/univariatestatistics_mle.json +0 -81
- teradataml/analytics/mle/json/unpack_mle.json +0 -91
- teradataml/analytics/mle/json/unpack_mle_mle.json +0 -91
- teradataml/analytics/mle/json/unpivoting_mle.json +0 -63
- teradataml/analytics/mle/json/varmax_mle.json +0 -176
- teradataml/analytics/mle/json/vectordistance_mle.json +0 -179
- teradataml/analytics/mle/json/weightedmovavg_mle.json +0 -48
- teradataml/analytics/mle/json/xgboost_mle.json +0 -178
- teradataml/analytics/mle/json/xgboostpredict_mle.json +0 -104
- teradataml/analytics/sqle/Antiselect.py +0 -321
- teradataml/analytics/sqle/Attribution.py +0 -603
- teradataml/analytics/sqle/DecisionForestPredict.py +0 -408
- teradataml/analytics/sqle/GLMPredict.py +0 -430
- teradataml/analytics/sqle/MovingAverage.py +0 -543
- teradataml/analytics/sqle/NGramSplitter.py +0 -548
- teradataml/analytics/sqle/NPath.py +0 -632
- teradataml/analytics/sqle/NaiveBayesTextClassifierPredict.py +0 -515
- teradataml/analytics/sqle/Pack.py +0 -388
- teradataml/analytics/sqle/SVMSparsePredict.py +0 -464
- teradataml/analytics/sqle/Sessionize.py +0 -390
- teradataml/analytics/sqle/StringSimilarity.py +0 -400
- teradataml/analytics/sqle/Unpack.py +0 -503
- teradataml/analytics/sqle/json/antiselect_sqle.json +0 -21
- teradataml/analytics/sqle/json/attribution_sqle.json +0 -92
- teradataml/analytics/sqle/json/decisionforestpredict_sqle.json +0 -48
- teradataml/analytics/sqle/json/glmpredict_sqle.json +0 -48
- teradataml/analytics/sqle/json/h2opredict_sqle.json +0 -63
- teradataml/analytics/sqle/json/movingaverage_sqle.json +0 -58
- teradataml/analytics/sqle/json/naivebayestextclassifierpredict_sqle.json +0 -76
- teradataml/analytics/sqle/json/ngramsplitter_sqle.json +0 -126
- teradataml/analytics/sqle/json/npath_sqle.json +0 -67
- teradataml/analytics/sqle/json/pack_sqle.json +0 -47
- teradataml/analytics/sqle/json/pmmlpredict_sqle.json +0 -55
- teradataml/analytics/sqle/json/sessionize_sqle.json +0 -43
- teradataml/analytics/sqle/json/stringsimilarity_sqle.json +0 -39
- teradataml/analytics/sqle/json/svmsparsepredict_sqle.json +0 -74
- teradataml/analytics/sqle/json/unpack_sqle.json +0 -80
- teradataml/catalog/model_cataloging.py +0 -980
- teradataml/config/mlengine_alias_definitions_v1.0 +0 -118
- teradataml/config/mlengine_alias_definitions_v1.1 +0 -127
- teradataml/config/mlengine_alias_definitions_v1.3 +0 -129
- teradataml/table_operators/sandbox_container_util.py +0 -643
- teradataml-17.20.0.7.dist-info/RECORD +0 -1280
- {teradataml-17.20.0.7.dist-info → teradataml-20.0.0.0.dist-info}/top_level.txt +0 -0
teradataml/dbutils/dbutils.py
CHANGED
|
@@ -1,1150 +1,1167 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Copyright (c) 2018 by Teradata Corporation. All rights reserved.
|
|
3
|
-
TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET
|
|
4
|
-
|
|
5
|
-
Primary Owner: rameshchandra.d@teradata.com
|
|
6
|
-
Secondary Owner: sanath.vobilisetty@teradata.com
|
|
7
|
-
|
|
8
|
-
teradataml db utilities
|
|
9
|
-
----------
|
|
10
|
-
A teradataml database utility functions provide interface to Teradata Vantage common tasks such as drop_table, drop_view, create_table etc.
|
|
11
|
-
"""
|
|
12
|
-
import concurrent.futures, json, os, tempfile, shutil
|
|
13
|
-
from datetime import datetime
|
|
14
|
-
import pandas as pd
|
|
15
|
-
from sqlalchemy.sql.functions import Function
|
|
16
|
-
from teradataml.context import context as tdmlctx
|
|
17
|
-
from teradataml.common.utils import UtilFuncs
|
|
18
|
-
from teradataml.common.messages import Messages
|
|
19
|
-
from teradataml.common.messagecodes import MessageCodes
|
|
20
|
-
from teradataml.common.exceptions import TeradataMlException
|
|
21
|
-
from teradataml.common.constants import TeradataTableKindConstants
|
|
22
|
-
from teradataml.common.sqlbundle import SQLBundle
|
|
23
|
-
from teradataml.common.constants import SQLConstants
|
|
24
|
-
from teradataml.common.constants import TableOperatorConstants
|
|
25
|
-
import teradataml.dataframe as tdmldf
|
|
26
|
-
from teradataml.options.configure import configure
|
|
27
|
-
from teradataml.utils.utils import execute_sql
|
|
28
|
-
from teradataml.utils.validators import _Validators
|
|
29
|
-
from teradatasql import OperationalError
|
|
30
|
-
from teradatasqlalchemy.dialect import preparer, dialect as td_dialect
|
|
31
|
-
from teradatasqlalchemy.dialect import TDCreateTablePost as post
|
|
32
|
-
from
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
awu_matrix
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
except
|
|
85
|
-
raise
|
|
86
|
-
except
|
|
87
|
-
raise
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
except
|
|
143
|
-
raise
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
>>>
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
#
|
|
209
|
-
|
|
210
|
-
>>>
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
>>>
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
#
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
awu_matrix.append(["
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
con.
|
|
385
|
-
|
|
386
|
-
#
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
#
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
awu_matrix_test
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
#
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
# Example
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
0
|
|
796
|
-
1
|
|
797
|
-
|
|
798
|
-
3
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
Types:
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
Optional Argument.
|
|
884
|
-
Specifies
|
|
885
|
-
Default Value:
|
|
886
|
-
Types:
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
Optional Argument.
|
|
890
|
-
Specifies
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
if
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
>>> # Example
|
|
1047
|
-
>>> list_td_reserved_keywords(
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1
|
+
"""
|
|
2
|
+
Copyright (c) 2018 by Teradata Corporation. All rights reserved.
|
|
3
|
+
TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET
|
|
4
|
+
|
|
5
|
+
Primary Owner: rameshchandra.d@teradata.com
|
|
6
|
+
Secondary Owner: sanath.vobilisetty@teradata.com
|
|
7
|
+
|
|
8
|
+
teradataml db utilities
|
|
9
|
+
----------
|
|
10
|
+
A teradataml database utility functions provide interface to Teradata Vantage common tasks such as drop_table, drop_view, create_table etc.
|
|
11
|
+
"""
|
|
12
|
+
import concurrent.futures, json, os, tempfile, shutil
|
|
13
|
+
from datetime import datetime
|
|
14
|
+
import pandas as pd
|
|
15
|
+
from sqlalchemy.sql.functions import Function
|
|
16
|
+
from teradataml.context import context as tdmlctx
|
|
17
|
+
from teradataml.common.utils import UtilFuncs
|
|
18
|
+
from teradataml.common.messages import Messages
|
|
19
|
+
from teradataml.common.messagecodes import MessageCodes
|
|
20
|
+
from teradataml.common.exceptions import TeradataMlException
|
|
21
|
+
from teradataml.common.constants import TeradataTableKindConstants
|
|
22
|
+
from teradataml.common.sqlbundle import SQLBundle
|
|
23
|
+
from teradataml.common.constants import SQLConstants
|
|
24
|
+
from teradataml.common.constants import TableOperatorConstants
|
|
25
|
+
import teradataml.dataframe as tdmldf
|
|
26
|
+
from teradataml.options.configure import configure
|
|
27
|
+
from teradataml.utils.utils import execute_sql
|
|
28
|
+
from teradataml.utils.validators import _Validators
|
|
29
|
+
from teradatasql import OperationalError
|
|
30
|
+
from teradatasqlalchemy.dialect import preparer, dialect as td_dialect
|
|
31
|
+
from teradatasqlalchemy.dialect import TDCreateTablePost as post
|
|
32
|
+
from teradatasqlalchemy.telemetry.queryband import collect_queryband
|
|
33
|
+
from sqlalchemy import Table, Column, MetaData, CheckConstraint, \
|
|
34
|
+
PrimaryKeyConstraint, ForeignKeyConstraint, UniqueConstraint
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@collect_queryband(queryband='DrpTbl')
|
|
38
|
+
def db_drop_table(table_name, schema_name=None):
|
|
39
|
+
"""
|
|
40
|
+
DESCRIPTION:
|
|
41
|
+
Drops the table from the given schema.
|
|
42
|
+
|
|
43
|
+
PARAMETERS:
|
|
44
|
+
table_name:
|
|
45
|
+
Required Argument
|
|
46
|
+
Specifies the table name to be dropped.
|
|
47
|
+
Types: str
|
|
48
|
+
|
|
49
|
+
schema_name:
|
|
50
|
+
Optional Argument
|
|
51
|
+
Specifies schema of the table to be dropped. If schema is not specified, function drops table from the
|
|
52
|
+
current database.
|
|
53
|
+
Default Value: None
|
|
54
|
+
Types: str
|
|
55
|
+
|
|
56
|
+
RETURNS:
|
|
57
|
+
True - if the operation is successful.
|
|
58
|
+
|
|
59
|
+
RAISES:
|
|
60
|
+
TeradataMlException - If the table doesn't exist.
|
|
61
|
+
|
|
62
|
+
EXAMPLES:
|
|
63
|
+
>>> load_example_data("dataframe", "admissions_train")
|
|
64
|
+
|
|
65
|
+
# Drop table in current database
|
|
66
|
+
>>> db_drop_table(table_name = 'admissions_train')
|
|
67
|
+
|
|
68
|
+
# Drop table from the given schema
|
|
69
|
+
>>> db_drop_table(table_name = 'admissions_train', schema_name = 'alice')
|
|
70
|
+
"""
|
|
71
|
+
# Argument validations
|
|
72
|
+
awu_matrix = []
|
|
73
|
+
awu_matrix.append(["schema_name", schema_name, True, (str), True])
|
|
74
|
+
awu_matrix.append(["table_name", table_name, False, (str), True])
|
|
75
|
+
|
|
76
|
+
# Validate argument types
|
|
77
|
+
_Validators._validate_function_arguments(awu_matrix)
|
|
78
|
+
|
|
79
|
+
# Joining view and schema names in the format "schema_name"."view_name"
|
|
80
|
+
table_name = _get_quoted_object_name(schema_name, table_name)
|
|
81
|
+
|
|
82
|
+
try:
|
|
83
|
+
return UtilFuncs._drop_table(table_name)
|
|
84
|
+
except TeradataMlException:
|
|
85
|
+
raise
|
|
86
|
+
except OperationalError:
|
|
87
|
+
raise
|
|
88
|
+
except Exception as err:
|
|
89
|
+
raise TeradataMlException(Messages.get_message(MessageCodes.DROP_FAILED, "table",
|
|
90
|
+
table_name),
|
|
91
|
+
MessageCodes.DROP_FAILED) from err
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
@collect_queryband(queryband='DrpVw')
|
|
95
|
+
def db_drop_view(view_name, schema_name=None):
|
|
96
|
+
"""
|
|
97
|
+
DESCRIPTION:
|
|
98
|
+
Drops the view from the given schema.
|
|
99
|
+
|
|
100
|
+
PARAMETERS:
|
|
101
|
+
view_name:
|
|
102
|
+
Required Argument
|
|
103
|
+
Specifies view name to be dropped.
|
|
104
|
+
Types: str
|
|
105
|
+
|
|
106
|
+
schema_name:
|
|
107
|
+
Optional Argument
|
|
108
|
+
Specifies schema of the view to be dropped. If schema is not specified, function drops view from the current
|
|
109
|
+
database.
|
|
110
|
+
Default Value: None
|
|
111
|
+
Types: str
|
|
112
|
+
|
|
113
|
+
RETURNS:
|
|
114
|
+
True - if the operation is successful.
|
|
115
|
+
|
|
116
|
+
RAISES:
|
|
117
|
+
TeradataMlException - If the view doesn't exist.
|
|
118
|
+
|
|
119
|
+
EXAMPLES:
|
|
120
|
+
# Create a view
|
|
121
|
+
>>> execute_sql("create view temporary_view as (select 1 as dummy_col1, 2 as dummy_col2);")
|
|
122
|
+
|
|
123
|
+
# Drop view in current schema
|
|
124
|
+
>>> db_drop_view(view_name = 'temporary_view')
|
|
125
|
+
|
|
126
|
+
# Drop view from the given schema
|
|
127
|
+
>>> db_drop_view(view_name = 'temporary_view', schema_name = 'alice')
|
|
128
|
+
"""
|
|
129
|
+
# Argument validations
|
|
130
|
+
awu_matrix = []
|
|
131
|
+
awu_matrix.append(["schema_name", schema_name, True, (str), True])
|
|
132
|
+
awu_matrix.append(["view_name", view_name, False, (str), True])
|
|
133
|
+
|
|
134
|
+
# Validate argument types
|
|
135
|
+
_Validators._validate_function_arguments(awu_matrix)
|
|
136
|
+
|
|
137
|
+
# Joining view and schema names in the format "schema_name"."view_name"
|
|
138
|
+
view_name = _get_quoted_object_name(schema_name, view_name)
|
|
139
|
+
|
|
140
|
+
try:
|
|
141
|
+
return UtilFuncs._drop_view(view_name)
|
|
142
|
+
except TeradataMlException:
|
|
143
|
+
raise
|
|
144
|
+
except OperationalError:
|
|
145
|
+
raise
|
|
146
|
+
except Exception as err:
|
|
147
|
+
raise TeradataMlException(Messages.get_message(MessageCodes.DROP_FAILED, "view",
|
|
148
|
+
view_name),
|
|
149
|
+
MessageCodes.DROP_FAILED) from err
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
@collect_queryband(queryband='LstTbls')
|
|
153
|
+
def db_list_tables(schema_name=None, object_name=None, object_type='all'):
|
|
154
|
+
"""
|
|
155
|
+
DESCRIPTION:
|
|
156
|
+
Lists the Vantage objects(table/view) names for the specified schema name.
|
|
157
|
+
|
|
158
|
+
PARAMETERS:
|
|
159
|
+
schema_name:
|
|
160
|
+
Optional Argument.
|
|
161
|
+
Specifies the name of schema in the database. If schema is not specified, function lists tables/views from
|
|
162
|
+
the current database.
|
|
163
|
+
Default Value: None
|
|
164
|
+
Types: str
|
|
165
|
+
|
|
166
|
+
object_name:
|
|
167
|
+
Optional Argument.
|
|
168
|
+
Specifies a table/view name or pattern to be used for filtering them from the database.
|
|
169
|
+
Pattern may contain '%' or '_' as pattern matching characters.
|
|
170
|
+
A '%' represents any string of zero or more arbitrary characters. Any string of characters is acceptable as
|
|
171
|
+
a replacement for the percent.
|
|
172
|
+
A '_' represents exactly one arbitrary character. Any single character is acceptable in the position in
|
|
173
|
+
which the underscore character appears.
|
|
174
|
+
Default Value: None
|
|
175
|
+
Types: str
|
|
176
|
+
Example:
|
|
177
|
+
1. '%abc' will return all table/view object names starting with any character and ending with abc.
|
|
178
|
+
2. 'a_c' will return all table/view object names starting with 'a', ending with 'c' and has length of 3.
|
|
179
|
+
|
|
180
|
+
object_type:
|
|
181
|
+
Optional Argument.
|
|
182
|
+
Specifies object type to apply the filter. Valid values for this argument are 'all','table','view',
|
|
183
|
+
'volatile','temp'.
|
|
184
|
+
* all - List all the object types.
|
|
185
|
+
* table - List only tables.
|
|
186
|
+
* view - List only views.
|
|
187
|
+
* volatile - List only volatile tables.
|
|
188
|
+
* temp - List all teradataml temporary objects created in the specified database.
|
|
189
|
+
Default Value: 'all'
|
|
190
|
+
Types: str
|
|
191
|
+
|
|
192
|
+
RETURNS:
|
|
193
|
+
Pandas DataFrame
|
|
194
|
+
|
|
195
|
+
RAISES:
|
|
196
|
+
TeradataMlException - If the object_type argument is provided with invalid values.
|
|
197
|
+
OperationalError - If any errors are raised from Vantage.
|
|
198
|
+
|
|
199
|
+
EXAMPLES:
|
|
200
|
+
# Example 1 - List all object types in the default schema
|
|
201
|
+
>>> load_example_data("dataframe", "admissions_train")
|
|
202
|
+
>>> db_list_tables()
|
|
203
|
+
|
|
204
|
+
# Example 2 - List all the views in the default schema
|
|
205
|
+
>>> execute_sql("create view temporary_view as (select 1 as dummy_col1, 2 as dummy_col2);")
|
|
206
|
+
>>> db_list_tables(None , None, 'view')
|
|
207
|
+
|
|
208
|
+
# Example 3 - List all the object types in the default schema whose names begin with 'abc' followed by one
|
|
209
|
+
# arbitrary character and any number of characters in the end.
|
|
210
|
+
>>> execute_sql("create view abcd123 as (select 1 as dummy_col1, 2 as dummy_col2);")
|
|
211
|
+
>>> db_list_tables(None, 'abc_%', None)
|
|
212
|
+
|
|
213
|
+
# Example 4 - List all the tables in the default schema whose names begin with 'adm_%' followed by one
|
|
214
|
+
# arbitrary character and any number of characters in the end.
|
|
215
|
+
>>> load_example_data("dataframe", "admissions_train")
|
|
216
|
+
>>> db_list_tables(None, 'adm_%', 'table')
|
|
217
|
+
|
|
218
|
+
# Example 5 - List all the views in the default schema whose names begin with any character but ends with 'abc'
|
|
219
|
+
>>> execute_sql("create view view_abc as (select 1 as dummy_col1, 2 as dummy_col2);")
|
|
220
|
+
>>> db_list_tables(None, '%abc', 'view')
|
|
221
|
+
|
|
222
|
+
# Example 6 - List all the volatile tables in the default schema whose names begin with 'abc' and ends with any
|
|
223
|
+
# arbitrary character and has a length of 4
|
|
224
|
+
>>> execute_sql("CREATE volatile TABLE abcd(col0 int, col1 float) NO PRIMARY INDEX;")
|
|
225
|
+
>>> db_list_tables(None, 'abc_', 'volatile')
|
|
226
|
+
|
|
227
|
+
# Example 7 - List all the temporary objects created by teradataml in the default schema whose names begins and
|
|
228
|
+
# ends with any number of arbitrary characters but contains 'filter' in between.
|
|
229
|
+
>>> db_list_tables(None, '%filter%', 'temp')
|
|
230
|
+
"""
|
|
231
|
+
|
|
232
|
+
if tdmlctx.get_connection() is None:
|
|
233
|
+
raise TeradataMlException(Messages.get_message(MessageCodes.INVALID_CONTEXT_CONNECTION),
|
|
234
|
+
MessageCodes.INVALID_CONTEXT_CONNECTION)
|
|
235
|
+
|
|
236
|
+
# Argument validations
|
|
237
|
+
awu_matrix = []
|
|
238
|
+
awu_matrix.append(["schema_name", schema_name, True, (str), True])
|
|
239
|
+
awu_matrix.append(["object_name", object_name, True, (str), True])
|
|
240
|
+
permitted_object_types = [TeradataTableKindConstants.ALL.value,
|
|
241
|
+
TeradataTableKindConstants.TABLE.value,
|
|
242
|
+
TeradataTableKindConstants.VIEW.value,
|
|
243
|
+
TeradataTableKindConstants.VOLATILE.value,
|
|
244
|
+
TeradataTableKindConstants.TEMP.value]
|
|
245
|
+
awu_matrix.append(["object_type", object_type, True, (str), True, permitted_object_types])
|
|
246
|
+
|
|
247
|
+
# Validate argument types
|
|
248
|
+
_Validators._validate_function_arguments(awu_matrix)
|
|
249
|
+
|
|
250
|
+
try:
|
|
251
|
+
return _get_select_table_kind(schema_name, object_name, object_type)
|
|
252
|
+
except TeradataMlException:
|
|
253
|
+
raise
|
|
254
|
+
except OperationalError:
|
|
255
|
+
raise
|
|
256
|
+
except Exception as err:
|
|
257
|
+
raise TeradataMlException(Messages.get_message(MessageCodes.LIST_DB_TABLES_FAILED),
|
|
258
|
+
MessageCodes.LIST_DB_TABLES_FAILED) from err
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
def _get_select_table_kind(schema_name, table_name, table_kind):
|
|
262
|
+
"""
|
|
263
|
+
Get the list of the table names from the specified schema name.
|
|
264
|
+
|
|
265
|
+
PARAMETERS:
|
|
266
|
+
schema_name - The Name of schema in the database. The default value is the current database name.
|
|
267
|
+
table_name - The pattern to be used to filtering the table names from the database.
|
|
268
|
+
The table name argument can contain '%' as pattern matching charecter.For example '%abc'
|
|
269
|
+
will return all table names starting with any charecters and ending with abc.
|
|
270
|
+
table_kind - The table kind to apply the filter. The valid values are 'all','table','view','volatile','temp'.
|
|
271
|
+
all - list the all the table kinds.
|
|
272
|
+
table - list only tables.
|
|
273
|
+
view - list only views.
|
|
274
|
+
volatile - list only volatile temp.
|
|
275
|
+
temp - list all teradata ml temporary objects created in the specified database.
|
|
276
|
+
RETURNS:
|
|
277
|
+
Panda's DataFrame - if the operation is successful.
|
|
278
|
+
|
|
279
|
+
RAISES:
|
|
280
|
+
Database error if an error occurred while executing query.
|
|
281
|
+
|
|
282
|
+
EXAMPLES:
|
|
283
|
+
_get_select_table_kind("schema_name", "table_name", "all")
|
|
284
|
+
"""
|
|
285
|
+
object_name_str = None
|
|
286
|
+
if table_name is not None:
|
|
287
|
+
object_name_str = "'{0}'".format(table_name)
|
|
288
|
+
object_table_kind = None
|
|
289
|
+
|
|
290
|
+
# Check the schema name.
|
|
291
|
+
if schema_name is None:
|
|
292
|
+
schema_name = tdmlctx._get_current_databasename()
|
|
293
|
+
|
|
294
|
+
# Check the table kind.
|
|
295
|
+
if (table_kind == TeradataTableKindConstants.VOLATILE.value):
|
|
296
|
+
query = SQLBundle._build_help_volatile_table()
|
|
297
|
+
else:
|
|
298
|
+
# Tablekind:
|
|
299
|
+
# 'O' - stands for Table with no primary index and no partitioning
|
|
300
|
+
# 'Q' - stands for Queue table
|
|
301
|
+
# 'T' - stands for a Table with a primary index or primary AMP index, partitioning, or both.
|
|
302
|
+
# Or a partitioned table with NoPI
|
|
303
|
+
# 'V' - stands for View
|
|
304
|
+
if (table_kind == TeradataTableKindConstants.TABLE.value):
|
|
305
|
+
object_table_kind = "'{0}','{1}','{2}'".format('O', 'Q', 'T')
|
|
306
|
+
elif (table_kind == TeradataTableKindConstants.VIEW.value):
|
|
307
|
+
object_table_kind = "'{0}'".format('V')
|
|
308
|
+
elif (table_kind == TeradataTableKindConstants.TEMP.value):
|
|
309
|
+
if table_name is None:
|
|
310
|
+
object_name_str = "'{0}'".format(TeradataTableKindConstants.ML_PATTERN.value)
|
|
311
|
+
else:
|
|
312
|
+
object_name_str = "'{0}','{1}'".format(table_name,
|
|
313
|
+
TeradataTableKindConstants.ML_PATTERN.value)
|
|
314
|
+
else:
|
|
315
|
+
object_table_kind = "'{0}','{1}','{2}','{3}'".format('O', 'Q', 'T', 'V')
|
|
316
|
+
query = SQLBundle._build_select_table_kind(schema_name, object_name_str, object_table_kind)
|
|
317
|
+
|
|
318
|
+
try:
|
|
319
|
+
pddf = pd.read_sql(query, tdmlctx.td_connection.connection)
|
|
320
|
+
# Check if all table kind is requested and add also volatile tables to the pdf.
|
|
321
|
+
if (table_kind == TeradataTableKindConstants.ALL.value):
|
|
322
|
+
try:
|
|
323
|
+
# Add volatile tables to all dataframe.
|
|
324
|
+
vtquery = SQLBundle._build_help_volatile_table()
|
|
325
|
+
vtdf = pd.read_sql(vtquery, tdmlctx.td_connection.connection)
|
|
326
|
+
if not vtdf.empty:
|
|
327
|
+
columns_dict = {TeradataTableKindConstants.VOLATILE_TABLE_NAME.value:
|
|
328
|
+
TeradataTableKindConstants.REGULAR_TABLE_NAME.value}
|
|
329
|
+
vtdf.rename(columns=columns_dict, inplace=True)
|
|
330
|
+
frames = [pddf, vtdf[[TeradataTableKindConstants.REGULAR_TABLE_NAME.value]]]
|
|
331
|
+
pddf = pd.concat(frames)
|
|
332
|
+
pddf.reset_index(drop=True, inplace=True)
|
|
333
|
+
except Exception as err:
|
|
334
|
+
# No volatle tables exist.
|
|
335
|
+
pass
|
|
336
|
+
if (table_kind == TeradataTableKindConstants.VOLATILE.value):
|
|
337
|
+
columns_dict = {TeradataTableKindConstants.VOLATILE_TABLE_NAME.value:
|
|
338
|
+
TeradataTableKindConstants.REGULAR_TABLE_NAME.value}
|
|
339
|
+
pddf.rename(columns=columns_dict, inplace=True)
|
|
340
|
+
return pddf[[TeradataTableKindConstants.REGULAR_TABLE_NAME.value]]
|
|
341
|
+
else:
|
|
342
|
+
return pddf
|
|
343
|
+
except Exception as err:
|
|
344
|
+
return pd.DataFrame()
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
def _execute_transaction(queries):
|
|
348
|
+
"""
|
|
349
|
+
Internal function to execute the query or list of queries passed, as one transaction.
|
|
350
|
+
|
|
351
|
+
PARAMETERS:
|
|
352
|
+
queries:
|
|
353
|
+
Required argument.
|
|
354
|
+
Specifies a query or a list of queries to be executed as a single transaction.
|
|
355
|
+
Types: str or list of str
|
|
356
|
+
|
|
357
|
+
RAISES:
|
|
358
|
+
Exception
|
|
359
|
+
|
|
360
|
+
RETURNS:
|
|
361
|
+
None.
|
|
362
|
+
|
|
363
|
+
EXAMPLES:
|
|
364
|
+
>>> _execute_transaction([query1, query2])
|
|
365
|
+
"""
|
|
366
|
+
auto_commit_off = "{fn teradata_nativesql}{fn teradata_autocommit_off}"
|
|
367
|
+
auto_commit_on = "{fn teradata_nativesql}{fn teradata_autocommit_on}"
|
|
368
|
+
con = None
|
|
369
|
+
cur = None
|
|
370
|
+
|
|
371
|
+
if queries is not None:
|
|
372
|
+
if isinstance(queries, str):
|
|
373
|
+
queries = [queries]
|
|
374
|
+
|
|
375
|
+
# Check if we have any queries to execute
|
|
376
|
+
if len(queries) == 0:
|
|
377
|
+
return
|
|
378
|
+
|
|
379
|
+
try:
|
|
380
|
+
con = tdmlctx.td_connection
|
|
381
|
+
if con is None:
|
|
382
|
+
raise TeradataMlException(Messages.get_message(MessageCodes.CONNECTION_FAILURE),
|
|
383
|
+
MessageCodes.CONNECTION_FAILURE)
|
|
384
|
+
con = con.connection
|
|
385
|
+
cur = con.cursor()
|
|
386
|
+
# Set auto_commit to OFF
|
|
387
|
+
cur.execute(auto_commit_off)
|
|
388
|
+
for query in queries:
|
|
389
|
+
cur.execute(query)
|
|
390
|
+
|
|
391
|
+
# Try committing the the transaction
|
|
392
|
+
con.commit()
|
|
393
|
+
except Exception:
|
|
394
|
+
# Let's first rollback
|
|
395
|
+
con.rollback()
|
|
396
|
+
# Now, let's raise the error as is
|
|
397
|
+
raise
|
|
398
|
+
finally:
|
|
399
|
+
# Finally, we must set auto_commit to ON
|
|
400
|
+
cur.execute(auto_commit_on)
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
def _execute_stored_procedure(function_call, fetchWarnings=True, expect_none_result=False):
|
|
404
|
+
"""
|
|
405
|
+
DESCRIPTION:
|
|
406
|
+
Executes the specified function call of the stored procedure which contains
|
|
407
|
+
function name and parameters used by the function.
|
|
408
|
+
|
|
409
|
+
PARAMETERS:
|
|
410
|
+
function_call:
|
|
411
|
+
Required argument.
|
|
412
|
+
Specifies Function object for the stored procedure to be executed.
|
|
413
|
+
This function object contains stored procedure name along with its arguments.
|
|
414
|
+
Types: sqlalchemy.sql.functions.Function
|
|
415
|
+
|
|
416
|
+
fetchWarnings:
|
|
417
|
+
Optional Argument.
|
|
418
|
+
Specifies a flag that decides whether to raise warnings thrown from Vantage or not.
|
|
419
|
+
This will be the ideal behaviour for most of the stored procedures to fetch the warnings.
|
|
420
|
+
Default Values: True
|
|
421
|
+
Types: bool
|
|
422
|
+
|
|
423
|
+
expect_none_result:
|
|
424
|
+
Optional Argument.
|
|
425
|
+
When set to True, warnings will be ignored, and only result set is returned.
|
|
426
|
+
Returns None if query does not produce a result set.
|
|
427
|
+
This option is ignored when fetchWarnings is set to True.
|
|
428
|
+
Default Values: False
|
|
429
|
+
Types: bool
|
|
430
|
+
|
|
431
|
+
RETURNS:
|
|
432
|
+
Results received from Vantage after the execution.
|
|
433
|
+
|
|
434
|
+
RAISES:
|
|
435
|
+
Exception thrown by the Vantage.
|
|
436
|
+
|
|
437
|
+
EXAMPLES:
|
|
438
|
+
# No parameter needed by stored procedure.
|
|
439
|
+
functioncall = func.SYSUIF.list_base_environments()
|
|
440
|
+
_execute_stored_procedure(functioncall)
|
|
441
|
+
|
|
442
|
+
# Parameters are passed to the stored procedure in a list.
|
|
443
|
+
functioncall = func.SYSUIF.install_file('myfile','mapper.py','cz!/documents/mapper.py')
|
|
444
|
+
_execute_stored_procedure("SYSUIF.install_file(functioncall)", fetchWarnings=True)
|
|
445
|
+
"""
|
|
446
|
+
__arg_info_matrix = []
|
|
447
|
+
__arg_info_matrix.append(["function_call", function_call, False, (Function)])
|
|
448
|
+
__arg_info_matrix.append(["fetchWarnings", fetchWarnings, True, (bool)])
|
|
449
|
+
__arg_info_matrix.append(["expect_none_result", expect_none_result, True, (bool)])
|
|
450
|
+
|
|
451
|
+
# Validate arguments
|
|
452
|
+
_Validators._validate_function_arguments(__arg_info_matrix)
|
|
453
|
+
|
|
454
|
+
sqlbundle = SQLBundle()
|
|
455
|
+
|
|
456
|
+
# Get the query for running stored procedure.
|
|
457
|
+
exec_sp_stmt = sqlbundle._get_sql_query(SQLConstants.SQL_EXEC_STORED_PROCEDURE)
|
|
458
|
+
exec_sp_stmt = exec_sp_stmt.format(_get_function_call_as_string(function_call))
|
|
459
|
+
|
|
460
|
+
return UtilFuncs._execute_query(exec_sp_stmt, fetchWarnings, expect_none_result)
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
def _get_function_call_as_string(sqlcFuncObj):
|
|
464
|
+
"""
|
|
465
|
+
DESCRIPTION:
|
|
466
|
+
This function returns string representation for the sqlalchemy.sql.functions.Function object
|
|
467
|
+
which will be used to create a query to be used to execute the function.
|
|
468
|
+
|
|
469
|
+
PARAMETERS:
|
|
470
|
+
sqlcFuncObj:
|
|
471
|
+
Required Argument.
|
|
472
|
+
Specifies function object representing the SQL function call to be executed.
|
|
473
|
+
|
|
474
|
+
RAISES:
|
|
475
|
+
None
|
|
476
|
+
|
|
477
|
+
RETURNS:
|
|
478
|
+
String representation of the input Function.
|
|
479
|
+
|
|
480
|
+
EXAMPLES:
|
|
481
|
+
functioncall = func.SYSUIF.install_file("tdml_testfile", "test_script", "/root/test_script.py")
|
|
482
|
+
_get_function_call_as_string(functioncall)
|
|
483
|
+
|
|
484
|
+
Output:
|
|
485
|
+
"SYSUIF.install_file('tdml_testfile', 'test_script', '/root/test_script.py')"
|
|
486
|
+
"""
|
|
487
|
+
# This is done by _exec_stored_procedure
|
|
488
|
+
from teradatasqlalchemy.dialect import dialect as td_dialect
|
|
489
|
+
kw = dict({'dialect': td_dialect(),
|
|
490
|
+
'compile_kwargs':
|
|
491
|
+
{
|
|
492
|
+
'include_table': False,
|
|
493
|
+
'literal_binds': True
|
|
494
|
+
}
|
|
495
|
+
})
|
|
496
|
+
|
|
497
|
+
return str(sqlcFuncObj.compile(**kw))
|
|
498
|
+
|
|
499
|
+
|
|
500
|
+
def _get_quoted_object_name(schema_name, object_name):
|
|
501
|
+
"""
|
|
502
|
+
DESCRIPTION:
|
|
503
|
+
This function quotes and joins schema name to the object name which can either be table or a view.
|
|
504
|
+
|
|
505
|
+
PARAMETERS:
|
|
506
|
+
schema_name
|
|
507
|
+
Required Argument.
|
|
508
|
+
Specifies the schema name.
|
|
509
|
+
Types: str
|
|
510
|
+
|
|
511
|
+
object_name
|
|
512
|
+
Required Argument.
|
|
513
|
+
Specifies the object name either table or view.
|
|
514
|
+
Types: str
|
|
515
|
+
|
|
516
|
+
RAISES:
|
|
517
|
+
None
|
|
518
|
+
|
|
519
|
+
RETURNS:
|
|
520
|
+
Quoted and joined string of schema and object name.
|
|
521
|
+
|
|
522
|
+
EXAMPLES:
|
|
523
|
+
_get_quoted_object_name(schema_name = "alice", object_name = "admissions_train")
|
|
524
|
+
|
|
525
|
+
OUTPUT:
|
|
526
|
+
'"alice"."admissions_train"'
|
|
527
|
+
"""
|
|
528
|
+
tdp = preparer(td_dialect)
|
|
529
|
+
|
|
530
|
+
if schema_name is not None:
|
|
531
|
+
schema_name = tdp.quote(schema_name)
|
|
532
|
+
else:
|
|
533
|
+
schema_name = tdp.quote(tdmlctx._get_current_databasename())
|
|
534
|
+
|
|
535
|
+
quoted_object_name = "{0}.{1}".format(schema_name, tdp.quote(object_name))
|
|
536
|
+
return quoted_object_name
|
|
537
|
+
|
|
538
|
+
|
|
539
|
+
@collect_queryband(queryband='VwLg')
|
|
540
|
+
def view_log(log_type="script", num_lines=1000, query_id=None, log_dir=None):
|
|
541
|
+
"""
|
|
542
|
+
DESCRIPTION:
|
|
543
|
+
Function for viewing script, apply or byom log on Vantage.
|
|
544
|
+
Logs are pulled from 'script_log' or 'byom.log' file on database node.
|
|
545
|
+
When log_type is "script", logs are pulled from 'scriptlog' file on database node.
|
|
546
|
+
This is useful when Script.execute() is executed to run user scripts in Vantage.
|
|
547
|
+
When log_type is set to "apply", function downloads the log files to a folder.
|
|
548
|
+
Notes:
|
|
549
|
+
* Logs files will be downloaded based on "log_dir".
|
|
550
|
+
* teradataml creates a sub directory with the name as "query_id"
|
|
551
|
+
and downloads the logs to the sub directory.
|
|
552
|
+
* files generated from "query_id" requires few seconds to generate,
|
|
553
|
+
provide "query_id" to function view_log() after few seconds else
|
|
554
|
+
it will return empty sub directory.
|
|
555
|
+
|
|
556
|
+
PARAMETERS:
|
|
557
|
+
log_type:
|
|
558
|
+
Optional Argument.
|
|
559
|
+
Specifies which logs to view.
|
|
560
|
+
If set to 'script', script log is pulled from database node.
|
|
561
|
+
If set to 'byom', byom log is pulled from database node.
|
|
562
|
+
If set to 'apply' logs are pulled from kubernetes container.
|
|
563
|
+
Permitted Values: 'script', 'apply', 'byom'
|
|
564
|
+
Default Value: 'script'
|
|
565
|
+
Types: str
|
|
566
|
+
|
|
567
|
+
num_lines:
|
|
568
|
+
Optional Argument.
|
|
569
|
+
Specifies the number of lines to be read and displayed from log.
|
|
570
|
+
Note:
|
|
571
|
+
This argument is applicable when log_type is 'script' otherwise ignored.
|
|
572
|
+
Default Value: 1000
|
|
573
|
+
Types: int
|
|
574
|
+
|
|
575
|
+
query_id:
|
|
576
|
+
Required Argument when log_type is 'apply', otherwise ignored.
|
|
577
|
+
Specifies the id of the query for which logs are to be retrieved.
|
|
578
|
+
This query id is part of the error message received when Apply class
|
|
579
|
+
or Dataframe apply method calls fail to execute the Apply table operator
|
|
580
|
+
query.
|
|
581
|
+
Types: str
|
|
582
|
+
|
|
583
|
+
log_dir:
|
|
584
|
+
Optional Argument.
|
|
585
|
+
Specifies the directory path to store all the log files for "query_id".
|
|
586
|
+
Notes:
|
|
587
|
+
* This argument is applicable when log_type is 'apply' otherwise ignored.
|
|
588
|
+
* when "log_dir" is not provided, function creates temporary folder
|
|
589
|
+
and store the log files in the temp folder.
|
|
590
|
+
Types: str
|
|
591
|
+
|
|
592
|
+
RETURNS:
|
|
593
|
+
when log_type="apply" returns log files, otherwise teradataml dataframe.
|
|
594
|
+
|
|
595
|
+
RAISES:
|
|
596
|
+
TeradataMLException.
|
|
597
|
+
|
|
598
|
+
EXAMPLES:
|
|
599
|
+
# Example 1: View script log.
|
|
600
|
+
>>> view_log(log_type="script", num_lines=200)
|
|
601
|
+
>>> view_log(log_type="byom", num_lines=200)
|
|
602
|
+
|
|
603
|
+
# Example 2: Download the Apply query logs to a default temp folder.
|
|
604
|
+
# Use query id from the error messages returned by Apply class.
|
|
605
|
+
>>> view_log(log_type="apply", query_id='307161028465226056')
|
|
606
|
+
Logs for query_id "307191028465562578" is stored at "C:\\local_repo\\AppData\\Local\\Temp\\tmp00kuxlgu\\307161028465226056"
|
|
607
|
+
|
|
608
|
+
# Example 3: Download the Apply query logs to a specific folder.
|
|
609
|
+
# Use query id from the error messages returned by Apply class.
|
|
610
|
+
>>> view_log(log_type="apply", query_id='307161028465226056',log_dir='C:\\local_repo\\workspace')
|
|
611
|
+
Logs for query_id "307191028465562578" is stored at "C:\\local_repo\\workspace\\307161028465226056"
|
|
612
|
+
"""
|
|
613
|
+
awu_matrix_test = []
|
|
614
|
+
awu_matrix_test.append((["num_lines", num_lines, True, (int), True]))
|
|
615
|
+
awu_matrix_test.append(("log_type", log_type, True, (str), True,
|
|
616
|
+
[TableOperatorConstants.SCRIPT_LOG.value,
|
|
617
|
+
TableOperatorConstants.APPLY_LOG.value,
|
|
618
|
+
TableOperatorConstants.BYOM_LOG.value]))
|
|
619
|
+
# Validate argument type.
|
|
620
|
+
_Validators._validate_function_arguments(awu_matrix_test)
|
|
621
|
+
|
|
622
|
+
# Validate num_lines is a positive integer.
|
|
623
|
+
_Validators._validate_positive_int(num_lines, "num_lines")
|
|
624
|
+
|
|
625
|
+
awu_matrix_test.append(["query_id", query_id, True, (str), True])
|
|
626
|
+
awu_matrix_test.append(["log_dir", log_dir, True, (str), True])
|
|
627
|
+
|
|
628
|
+
# Validate argument type.
|
|
629
|
+
_Validators._validate_function_arguments(awu_matrix_test)
|
|
630
|
+
|
|
631
|
+
# log_type is script.
|
|
632
|
+
if log_type.upper() in [TableOperatorConstants.SCRIPT_LOG.value, TableOperatorConstants.BYOM_LOG.value]:
|
|
633
|
+
# Validate num_lines is a positive integer.
|
|
634
|
+
_Validators._validate_positive_int(num_lines, "num_lines")
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
# Query for viewing last n lines of script log.
|
|
638
|
+
view_log_query = TableOperatorConstants.SCRIPT_LOG_QUERY.value \
|
|
639
|
+
.format(num_lines, configure.default_varchar_size)
|
|
640
|
+
|
|
641
|
+
# log_type is apply.
|
|
642
|
+
else:
|
|
643
|
+
if query_id is None:
|
|
644
|
+
raise TeradataMlException(Messages.get_message(MessageCodes.DEPENDENT_ARG_MISSING,
|
|
645
|
+
"query_id",
|
|
646
|
+
"log_type=\"apply\""),
|
|
647
|
+
MessageCodes.DEPENDENT_ARG_MISSING)
|
|
648
|
+
if log_dir is not None:
|
|
649
|
+
if not os.path.exists(log_dir):
|
|
650
|
+
err_msg = 'The path \'{}\' does not exist.'.format(
|
|
651
|
+
log_dir)
|
|
652
|
+
raise TeradataMlException(err_msg, MessageCodes.INPUT_FILE_NOT_FOUND)
|
|
653
|
+
if not os.path.isdir(log_dir):
|
|
654
|
+
err_msg = 'Please provide directory path instead of file path.'.format(
|
|
655
|
+
log_dir)
|
|
656
|
+
raise TeradataMlException(err_msg, MessageCodes.INPUT_FILE_NOT_FOUND)
|
|
657
|
+
from teradataml.scriptmgmt.UserEnv import _get_auth_token, _get_ues_url, \
|
|
658
|
+
_process_ues_response
|
|
659
|
+
ues_url = _get_ues_url(logs=True, query_id=query_id)
|
|
660
|
+
response = UtilFuncs._http_request(ues_url, headers=_get_auth_token())
|
|
661
|
+
resp = _process_ues_response(api_name="view_log", response=response)
|
|
662
|
+
resp = resp.content.decode('utf-8')
|
|
663
|
+
jsons = json.loads(resp)
|
|
664
|
+
if log_dir is None:
|
|
665
|
+
log_dir = tempfile.mkdtemp()
|
|
666
|
+
log_dir = os.path.join(log_dir, query_id)
|
|
667
|
+
if os.path.exists(log_dir):
|
|
668
|
+
shutil.rmtree(log_dir)
|
|
669
|
+
os.mkdir(log_dir)
|
|
670
|
+
urls_and_files = [(log['url'], os.path.join(log_dir, log['name'])) for log in jsons['logs']]
|
|
671
|
+
failed_files = []
|
|
672
|
+
with concurrent.futures.ThreadPoolExecutor() as executor:
|
|
673
|
+
results = {executor.submit(_fetch_url_and_save, url, file_path):
|
|
674
|
+
(os.path.basename(file_path)) for url, file_path in urls_and_files}
|
|
675
|
+
for future in concurrent.futures.as_completed(results):
|
|
676
|
+
try:
|
|
677
|
+
file_name = results[future]
|
|
678
|
+
future.result()
|
|
679
|
+
except (TeradataMlException, RuntimeError, Exception) as emsg:
|
|
680
|
+
failed_files.append((file_name, emsg))
|
|
681
|
+
if len(failed_files) > 0:
|
|
682
|
+
emsg = ""
|
|
683
|
+
for msg in failed_files:
|
|
684
|
+
emsg += "\nUnable to download the file - {}. Reason: {}" \
|
|
685
|
+
.format(msg[0], msg[1].args[0])
|
|
686
|
+
msg_code = MessageCodes.FUNC_EXECUTION_FAILED
|
|
687
|
+
error_msg = Messages.get_message(msg_code, "view_log()", emsg)
|
|
688
|
+
raise TeradataMlException(error_msg, msg_code)
|
|
689
|
+
else:
|
|
690
|
+
print("Logs for query_id \"{}\" is stored at \"{}\"".format(query_id, log_dir))
|
|
691
|
+
# Return a teradataml dataframe from query.
|
|
692
|
+
if log_type != 'apply':
|
|
693
|
+
return tdmldf.dataframe.DataFrame.from_query(view_log_query)
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
def _fetch_url_and_save(url, file_path):
|
|
697
|
+
"""
|
|
698
|
+
DESCRIPTION:
|
|
699
|
+
Download file from specifed url and update files at specified path.
|
|
700
|
+
|
|
701
|
+
PARAMETERS:
|
|
702
|
+
url:
|
|
703
|
+
Specifies the url from where file needs to be downloaded.
|
|
704
|
+
|
|
705
|
+
file_path:
|
|
706
|
+
Specifies the path of file where downloaded file needs to be updated.
|
|
707
|
+
|
|
708
|
+
Returns:
|
|
709
|
+
None
|
|
710
|
+
|
|
711
|
+
"""
|
|
712
|
+
from teradataml.scriptmgmt.UserEnv import _process_ues_response
|
|
713
|
+
response = UtilFuncs._http_request(url)
|
|
714
|
+
resp = _process_ues_response(api_name="view_log", response=response)
|
|
715
|
+
with open(file_path, 'w') as file:
|
|
716
|
+
file.write(resp.content.decode('utf-8'))
|
|
717
|
+
|
|
718
|
+
|
|
719
|
+
def _check_if_python_packages_installed():
|
|
720
|
+
"""
|
|
721
|
+
DESCRIPTION:
|
|
722
|
+
Function to set global variable 'python_packages_installed' to True
|
|
723
|
+
or False based on whether the Vantage node has Python and add-on
|
|
724
|
+
packages including pip3 installed.
|
|
725
|
+
|
|
726
|
+
PARAMETERS:
|
|
727
|
+
None.
|
|
728
|
+
|
|
729
|
+
RETURNS:
|
|
730
|
+
None.
|
|
731
|
+
|
|
732
|
+
RAISES:
|
|
733
|
+
Exception.
|
|
734
|
+
|
|
735
|
+
EXAMPLES:
|
|
736
|
+
_check_if_python_packages_installed()
|
|
737
|
+
"""
|
|
738
|
+
# Check if Python interpreter and add-ons packages are installed or not.
|
|
739
|
+
try:
|
|
740
|
+
query = TableOperatorConstants.CHECK_PYTHON_INSTALLED.value
|
|
741
|
+
UtilFuncs._execute_query(query=query)
|
|
742
|
+
|
|
743
|
+
# If query execution is successful, then Python and add-on packages are
|
|
744
|
+
# present.
|
|
745
|
+
tdmlctx.python_packages_installed = True
|
|
746
|
+
except Exception as err:
|
|
747
|
+
# Raise Exception if the error message does not contain
|
|
748
|
+
# "bash: pip3: command not found".
|
|
749
|
+
# Default value of the global variable "python_packages_installed" remains
|
|
750
|
+
# same which was set during create_context/set_context.
|
|
751
|
+
if "bash: pip3: command not found" not in str(err):
|
|
752
|
+
raise
|
|
753
|
+
|
|
754
|
+
|
|
755
|
+
@collect_queryband(queryband='PkgDtls')
|
|
756
|
+
def db_python_package_details(names=None):
|
|
757
|
+
"""
|
|
758
|
+
DESCRIPTION:
|
|
759
|
+
Function to get the Python packages, installed on Vantage, and their corresponding
|
|
760
|
+
versions.
|
|
761
|
+
Note:
|
|
762
|
+
Using this function is valid only when Python interpreter and add-on packages
|
|
763
|
+
are installed on the Vantage node.
|
|
764
|
+
|
|
765
|
+
PARAMETERS:
|
|
766
|
+
names:
|
|
767
|
+
Optional Argument.
|
|
768
|
+
Specifies the name(s)/pattern(s) of the Python package(s) for which version
|
|
769
|
+
information is to be fetched from Vantage. If this argument is not specified
|
|
770
|
+
or None, versions of all installed Python packages are returned.
|
|
771
|
+
Default Value: None
|
|
772
|
+
Types: str
|
|
773
|
+
|
|
774
|
+
RETURNS:
|
|
775
|
+
teradataml DataFrame, if package(s) is/are present in the Vantage.
|
|
776
|
+
|
|
777
|
+
RAISES:
|
|
778
|
+
TeradataMlException.
|
|
779
|
+
|
|
780
|
+
EXAMPLES:
|
|
781
|
+
# Note:
|
|
782
|
+
# These examples will work only when the Python packages are installed on Vantage.
|
|
783
|
+
|
|
784
|
+
# Example 1: Get the details of a Python package 'dill' from Vantage.
|
|
785
|
+
>>> db_python_package_details("dill")
|
|
786
|
+
package version
|
|
787
|
+
0 dill 0.2.8.2
|
|
788
|
+
|
|
789
|
+
# Example 2: Get the details of Python packages, having string 'mpy', installed on Vantage.
|
|
790
|
+
>>> db_python_package_details(names = "mpy")
|
|
791
|
+
package version
|
|
792
|
+
0 simpy 3.0.11
|
|
793
|
+
1 numpy 1.16.1
|
|
794
|
+
2 gmpy2 2.0.8
|
|
795
|
+
3 msgpack-numpy 0.4.3.2
|
|
796
|
+
4 sympy 1.3
|
|
797
|
+
|
|
798
|
+
# Example 3: Get the details of Python packages, having string 'numpy' and 'learn',
|
|
799
|
+
# installed on Vantage.
|
|
800
|
+
>>> db_python_package_details(["numpy", "learn"])
|
|
801
|
+
package version
|
|
802
|
+
0 scikit-learn 0.20.3
|
|
803
|
+
1 numpy 1.16.1
|
|
804
|
+
2 msgpack-numpy 0.4.3.2
|
|
805
|
+
|
|
806
|
+
# Example 4: Get the details of all Python packages installed on Vantage.
|
|
807
|
+
>>> db_python_package_details()
|
|
808
|
+
package version
|
|
809
|
+
0 packaging 18.0
|
|
810
|
+
1 cycler 0.10.0
|
|
811
|
+
2 simpy 3.0.11
|
|
812
|
+
3 more-itertools 4.3.0
|
|
813
|
+
4 mpmath 1.0.0
|
|
814
|
+
5 toolz 0.9.0
|
|
815
|
+
6 wordcloud 1.5.0
|
|
816
|
+
7 mistune 0.8.4
|
|
817
|
+
8 singledispatch 3.4.0.3
|
|
818
|
+
9 attrs 18.2.0
|
|
819
|
+
|
|
820
|
+
"""
|
|
821
|
+
# Validate arguments.
|
|
822
|
+
__arg_info_matrix = []
|
|
823
|
+
__arg_info_matrix.append(["names", names, True, (str, list), True])
|
|
824
|
+
|
|
825
|
+
_Validators._validate_function_arguments(arg_list=__arg_info_matrix)
|
|
826
|
+
|
|
827
|
+
# Check if Python interpretor and add-on packages are installed or not.
|
|
828
|
+
_check_if_python_packages_installed()
|
|
829
|
+
|
|
830
|
+
# Raise error if Python and add-on packages are not installed.
|
|
831
|
+
if not tdmlctx.python_packages_installed:
|
|
832
|
+
raise TeradataMlException(Messages.get_message(MessageCodes.PYTHON_NOT_INSTALLED),
|
|
833
|
+
MessageCodes.PYTHON_NOT_INSTALLED)
|
|
834
|
+
|
|
835
|
+
package_str = ""
|
|
836
|
+
# Adding "grep ..." only when the argument "name" is mentioned.
|
|
837
|
+
# Otherwise, all the package details are fetched.
|
|
838
|
+
if names is not None:
|
|
839
|
+
names = UtilFuncs._as_list(names)
|
|
840
|
+
package_str = "|".join(names)
|
|
841
|
+
package_str = "grep -E \"{0}\" | ".format(package_str)
|
|
842
|
+
|
|
843
|
+
query = TableOperatorConstants.PACKAGE_VERSION_QUERY.value. \
|
|
844
|
+
format(package_str, configure.default_varchar_size)
|
|
845
|
+
|
|
846
|
+
ret_val = tdmldf.dataframe.DataFrame.from_query(query)
|
|
847
|
+
|
|
848
|
+
if ret_val.shape[0] == 0:
|
|
849
|
+
msg_str = "No Python package(s) found based on given search criteria : names = {}"
|
|
850
|
+
print(msg_str.format(names))
|
|
851
|
+
ret_val = None
|
|
852
|
+
|
|
853
|
+
return ret_val
|
|
854
|
+
|
|
855
|
+
|
|
856
|
+
def _create_table(table_name,
|
|
857
|
+
columns,
|
|
858
|
+
primary_index=None,
|
|
859
|
+
unique=True,
|
|
860
|
+
temporary=False,
|
|
861
|
+
schema_name=None,
|
|
862
|
+
set_table=True,
|
|
863
|
+
**kwargs):
|
|
864
|
+
"""
|
|
865
|
+
DESCRIPTION:
|
|
866
|
+
This is an internal function used to construct a SQLAlchemy Table Object.
|
|
867
|
+
This function checks appropriate flags and supports creation of Teradata
|
|
868
|
+
specific Table constructs such as Volatile/Primary Index tables and constraints.
|
|
869
|
+
|
|
870
|
+
PARAMETERS:
|
|
871
|
+
table_name:
|
|
872
|
+
Required Argument.
|
|
873
|
+
Specifies the name of SQL table.
|
|
874
|
+
Types: str
|
|
875
|
+
|
|
876
|
+
columns:
|
|
877
|
+
Required Argument.
|
|
878
|
+
Specifies a python dictionary with column-name(key) to column-type(value) mapping
|
|
879
|
+
to create table.
|
|
880
|
+
Types: dict
|
|
881
|
+
|
|
882
|
+
primary_index:
|
|
883
|
+
Optional Argument.
|
|
884
|
+
Specifies the column name(s) on which primary index needs to be created.
|
|
885
|
+
Default Value: None
|
|
886
|
+
Types: str OR list of Strings (str)
|
|
887
|
+
|
|
888
|
+
unique:
|
|
889
|
+
Optional Argument.
|
|
890
|
+
Specifies whether index is unique primary index or not i.e.,
|
|
891
|
+
if True, index column(s) does not accepts duplicate values,
|
|
892
|
+
if False, index column(s) accepts duplicate values.
|
|
893
|
+
Default Value: True
|
|
894
|
+
Types: bool
|
|
895
|
+
|
|
896
|
+
temporary:
|
|
897
|
+
Optional Argument.
|
|
898
|
+
Specifies whether SQL table to be created is Volatile or not.
|
|
899
|
+
Default Value: False
|
|
900
|
+
Types: bool
|
|
901
|
+
|
|
902
|
+
schema_name:
|
|
903
|
+
Optional Argument.
|
|
904
|
+
Specifies the name of the SQL schema in the database to write to.
|
|
905
|
+
If not specified, table is created in default schema.
|
|
906
|
+
Default Value: None
|
|
907
|
+
Types: str
|
|
908
|
+
|
|
909
|
+
set_table:
|
|
910
|
+
Optional Argument.
|
|
911
|
+
A flag specifying whether to create a SET table or a MULTISET table.
|
|
912
|
+
When True, an attempt to create a SET table is made.
|
|
913
|
+
When False, an attempt to create a MULTISET table is made.
|
|
914
|
+
Default Value: True
|
|
915
|
+
Types: bool
|
|
916
|
+
|
|
917
|
+
**kwargs:
|
|
918
|
+
Optional Argument.
|
|
919
|
+
Specifies table_level constraints as keyword arguments.
|
|
920
|
+
Each constraint argument can accept a string or a list of strings.
|
|
921
|
+
Notes:
|
|
922
|
+
* If the same constraint is to be applied multiple times,
|
|
923
|
+
conditions or columns should be mentioned as individual
|
|
924
|
+
elements in the list.
|
|
925
|
+
* If the constraint is to be applied on multiple columns,
|
|
926
|
+
it should be mentioned in a tuple inside the list.
|
|
927
|
+
* For foreign_key_constraint, value should be a list
|
|
928
|
+
containing 3 elements, constrained columns,
|
|
929
|
+
referenced columns and referenced table name.
|
|
930
|
+
* If multiple foreign_key_constraint constraints are
|
|
931
|
+
to be specified, then a list of tuples containing
|
|
932
|
+
the 3 elements should be specified.
|
|
933
|
+
Permitted values:check_constraint, primary_key_constraint,
|
|
934
|
+
foreign_key_constraint, unique_key_constraint.
|
|
935
|
+
|
|
936
|
+
RETURNS:
|
|
937
|
+
None
|
|
938
|
+
|
|
939
|
+
RAISES:
|
|
940
|
+
None
|
|
941
|
+
|
|
942
|
+
EXAMPLES:
|
|
943
|
+
# Example 1: Create a table with primary key constraint.
|
|
944
|
+
>>> _create_table(table_name=table_name, columns=columns_to_create, schema_name = schema_name,
|
|
945
|
+
primary_key_constraint='column_name', set_table=False)
|
|
946
|
+
|
|
947
|
+
# Example 2: Create a table with multiple check constraints.
|
|
948
|
+
>>> _create_table(table_name=table_name, columns=columns_to_create, schema_name = schema_name,
|
|
949
|
+
check_constraint=['column_name > value', 'column_name > value2'], set_table=False)
|
|
950
|
+
|
|
951
|
+
# Example 3: Create a table with multiple columns as primary key in primary constraint.
|
|
952
|
+
>>> _create_table(table_name=table_name, columns=columns_to_create, schema_name = schema_name,
|
|
953
|
+
primary_key_constraint=[('column_name','column_name')], set_table=False)
|
|
954
|
+
|
|
955
|
+
# Example 4: Create a table with no constraint and no primary key.
|
|
956
|
+
>>> _create_table(table_name=table_name, columns=columns_to_create, schema_name = schema_name,
|
|
957
|
+
set_table=False)
|
|
958
|
+
|
|
959
|
+
"""
|
|
960
|
+
try:
|
|
961
|
+
prefix = []
|
|
962
|
+
pti = post(opts={})
|
|
963
|
+
|
|
964
|
+
if temporary is True:
|
|
965
|
+
pti = pti.on_commit(option='preserve')
|
|
966
|
+
prefix.append('VOLATILE')
|
|
967
|
+
|
|
968
|
+
if set_table:
|
|
969
|
+
prefix.append('set')
|
|
970
|
+
else:
|
|
971
|
+
prefix.append('multiset')
|
|
972
|
+
|
|
973
|
+
meta = MetaData()
|
|
974
|
+
meta.bind = tdmlctx.get_context()
|
|
975
|
+
|
|
976
|
+
if primary_index is not None:
|
|
977
|
+
if isinstance(primary_index, list):
|
|
978
|
+
pti = pti.primary_index(unique=unique, cols=primary_index)
|
|
979
|
+
elif isinstance(primary_index, str):
|
|
980
|
+
pti = pti.primary_index(unique=unique, cols=[primary_index])
|
|
981
|
+
else:
|
|
982
|
+
pti = pti.no_primary_index()
|
|
983
|
+
|
|
984
|
+
con_form=[]
|
|
985
|
+
for c_name, parameters in kwargs.items():
|
|
986
|
+
_Validators._validate_function_arguments([["constraint_type", c_name, True, str,
|
|
987
|
+
True, SQLConstants.CONSTRAINT.value]])
|
|
988
|
+
if c_name in 'check_constraint':
|
|
989
|
+
parameters = UtilFuncs._as_list(parameters)
|
|
990
|
+
[con_form.append("{}('{}')".format("CheckConstraint", col)) for col in parameters]
|
|
991
|
+
if c_name in 'foreign_key_constraint':
|
|
992
|
+
parameters = parameters if isinstance(parameters[0], tuple) else [tuple(parameters)]
|
|
993
|
+
for col in parameters:
|
|
994
|
+
meta.reflect(bind=tdmlctx.get_context(), only=[col[2]])
|
|
995
|
+
con_form.append("{}({},{})".format("ForeignKeyConstraint", col[0], col[1]))
|
|
996
|
+
if c_name in ['primary_key_constraint', 'unique_key_constraint']:
|
|
997
|
+
c_name = "UniqueConstraint" if c_name in 'unique_key_constraint' else 'PrimaryKeyConstraint'
|
|
998
|
+
parameters = UtilFuncs._as_list(parameters)
|
|
999
|
+
[con_form.append("{}('{}')".format(c_name, "','".join(col))) if type(col) == tuple else con_form.append(
|
|
1000
|
+
"{}('{}')".format(c_name, col)) for col in parameters]
|
|
1001
|
+
con_form.append("")
|
|
1002
|
+
|
|
1003
|
+
# Create default Table construct with parameter dictionary
|
|
1004
|
+
table_str = "Table(table_name, meta,*(Column(c_name, c_type) for c_name,c_type in" \
|
|
1005
|
+
" columns.items()),{} teradatasql_post_create=pti,prefixes=prefix," \
|
|
1006
|
+
"schema=schema_name)".format("" if con_form is None else ",".join(con_form))
|
|
1007
|
+
|
|
1008
|
+
table=eval(table_str)
|
|
1009
|
+
table.create(bind=tdmlctx.get_context())
|
|
1010
|
+
|
|
1011
|
+
except Exception as err:
|
|
1012
|
+
msg_code = MessageCodes.EXECUTION_FAILED
|
|
1013
|
+
raise TeradataMlException(Messages.get_message(msg_code, "create table", str(err)), msg_code)
|
|
1014
|
+
|
|
1015
|
+
|
|
1016
|
+
@collect_queryband(queryband='LstKwrds')
|
|
1017
|
+
def list_td_reserved_keywords(key=None, raise_error=False):
|
|
1018
|
+
"""
|
|
1019
|
+
DESCRIPTION:
|
|
1020
|
+
Function validates if the specified string is Teradata reserved keyword or not.
|
|
1021
|
+
If key is not specified, list all the Teradata reserved keywords.
|
|
1022
|
+
|
|
1023
|
+
PARAMETERS:
|
|
1024
|
+
key:
|
|
1025
|
+
Optional Argument.
|
|
1026
|
+
Specifies a string to validate for Teradata reserved keyword.
|
|
1027
|
+
Types: string
|
|
1028
|
+
|
|
1029
|
+
raise_error:
|
|
1030
|
+
Optional Argument.
|
|
1031
|
+
Specifies whether to raise exception or not.
|
|
1032
|
+
When set to True, an exception is raised,
|
|
1033
|
+
if specified "key" is a Teradata reserved keyword, otherwise not.
|
|
1034
|
+
Default Value: False
|
|
1035
|
+
Types: bool
|
|
1036
|
+
|
|
1037
|
+
RETURNS:
|
|
1038
|
+
teradataml DataFrame, if "key" is None.
|
|
1039
|
+
True, if "key" is Teradata reserved keyword, False otherwise.
|
|
1040
|
+
|
|
1041
|
+
RAISES:
|
|
1042
|
+
TeradataMlException.
|
|
1043
|
+
|
|
1044
|
+
EXAMPLES:
|
|
1045
|
+
>>> from teradataml import list_td_reserved_keywords
|
|
1046
|
+
>>> # Example 1: List all available Teradata reserved keywords.
|
|
1047
|
+
>>> list_td_reserved_keywords()
|
|
1048
|
+
restricted_word
|
|
1049
|
+
0 ABS
|
|
1050
|
+
1 ACCOUNT
|
|
1051
|
+
2 ACOS
|
|
1052
|
+
3 ACOSH
|
|
1053
|
+
4 ADD_MONTHS
|
|
1054
|
+
5 ADMIN
|
|
1055
|
+
6 ADD
|
|
1056
|
+
7 ACCESS_LOCK
|
|
1057
|
+
8 ABORTSESSION
|
|
1058
|
+
9 ABORT
|
|
1059
|
+
>>>
|
|
1060
|
+
|
|
1061
|
+
>>> # Example 2: Validate if keyword "account" is a Teradata reserved keyword or not.
|
|
1062
|
+
>>> list_td_reserved_keywords("account")
|
|
1063
|
+
True
|
|
1064
|
+
>>>
|
|
1065
|
+
|
|
1066
|
+
>>> # Example 3: Validate and raise exception if keyword "account" is a Teradata reserved keyword.
|
|
1067
|
+
>>> list_td_reserved_keywords("account", raise_error=True)
|
|
1068
|
+
TeradataMlException: [Teradata][teradataml](TDML_2121) 'account' is a Teradata reserved keyword.
|
|
1069
|
+
"""
|
|
1070
|
+
from teradataml.dataframe.dataframe import DataFrame, in_schema
|
|
1071
|
+
# Get the reserved keywords from the table
|
|
1072
|
+
reserved_keys = DataFrame(in_schema("SYSLIB", "SQLRestrictedWords"))
|
|
1073
|
+
|
|
1074
|
+
# If key is not passed, return the list of Teradata reserved keywords.
|
|
1075
|
+
if key is None:
|
|
1076
|
+
return reserved_keys.select(['restricted_word'])
|
|
1077
|
+
|
|
1078
|
+
# Check if key is a Teradata reserved keyword or not.
|
|
1079
|
+
num_rows = reserved_keys[reserved_keys.restricted_word == key.upper()].shape[0]
|
|
1080
|
+
if num_rows > 0:
|
|
1081
|
+
if raise_error:
|
|
1082
|
+
raise TeradataMlException(Messages.get_message(MessageCodes.RESERVED_KEYWORD, key),
|
|
1083
|
+
MessageCodes.RESERVED_KEYWORD)
|
|
1084
|
+
return True
|
|
1085
|
+
return False
|
|
1086
|
+
|
|
1087
|
+
|
|
1088
|
+
def _rename_table(old_table_name, new_table_name):
|
|
1089
|
+
"""
|
|
1090
|
+
This function renames the existing table present in the database.
|
|
1091
|
+
|
|
1092
|
+
PARAMETERS:
|
|
1093
|
+
old_table_name:
|
|
1094
|
+
Required Argument.
|
|
1095
|
+
Specifies the name of the existing table in vantage.
|
|
1096
|
+
Types : String
|
|
1097
|
+
|
|
1098
|
+
new_table_name:
|
|
1099
|
+
Required Argument.
|
|
1100
|
+
Specifies the the new name for the existing table.
|
|
1101
|
+
Types : String
|
|
1102
|
+
|
|
1103
|
+
RETURNS:
|
|
1104
|
+
None
|
|
1105
|
+
|
|
1106
|
+
RAISES:
|
|
1107
|
+
None
|
|
1108
|
+
|
|
1109
|
+
EXAMPLES:
|
|
1110
|
+
>>> load_example_data("dataframe", "sales")
|
|
1111
|
+
>>> _rename_table("sales", "new_sales")
|
|
1112
|
+
"""
|
|
1113
|
+
# Query to rename existing table.
|
|
1114
|
+
query = "RENAME TABLE {} TO {};".format(old_table_name, new_table_name)
|
|
1115
|
+
# Execute rename query.
|
|
1116
|
+
UtilFuncs._execute_ddl_statement(query)
|
|
1117
|
+
|
|
1118
|
+
|
|
1119
|
+
def _execute_query_and_generate_pandas_df(query, index=None, **kwargs):
|
|
1120
|
+
"""
|
|
1121
|
+
DESCRIPTION:
|
|
1122
|
+
Function executes the provided query and returns a pandas DataFrame.
|
|
1123
|
+
|
|
1124
|
+
PARAMETERS:
|
|
1125
|
+
query:
|
|
1126
|
+
Required Argument.
|
|
1127
|
+
Specifies the query that needs to be executed to form Pandas
|
|
1128
|
+
DataFrame.
|
|
1129
|
+
Type: str
|
|
1130
|
+
|
|
1131
|
+
index
|
|
1132
|
+
Optional Argument.
|
|
1133
|
+
Specifies column(s) to be used as Pandas index.
|
|
1134
|
+
Types: str OR list of Strings (str)
|
|
1135
|
+
|
|
1136
|
+
RETURNS:
|
|
1137
|
+
Pandas DataFrame.
|
|
1138
|
+
|
|
1139
|
+
RAISES:
|
|
1140
|
+
TeradataMlException.
|
|
1141
|
+
|
|
1142
|
+
EXAMPLES:
|
|
1143
|
+
pdf = _execute_query_and_generate_pandas_df("SELECT * from t1", "col1")
|
|
1144
|
+
"""
|
|
1145
|
+
# Empty queryband buffer before SQL call.
|
|
1146
|
+
UtilFuncs._set_queryband()
|
|
1147
|
+
cur = execute_sql(query)
|
|
1148
|
+
columns = kwargs.pop('columns', [col[0] for col in cur.description])
|
|
1149
|
+
rows = cur.fetchall()
|
|
1150
|
+
if cur is not None:
|
|
1151
|
+
cur.close()
|
|
1152
|
+
|
|
1153
|
+
try:
|
|
1154
|
+
pandas_df = pd.DataFrame.from_records(data=list(tuple(row) for row in rows),
|
|
1155
|
+
columns=columns,
|
|
1156
|
+
index=index,
|
|
1157
|
+
**kwargs)
|
|
1158
|
+
except KeyError:
|
|
1159
|
+
raise TeradataMlException(
|
|
1160
|
+
Messages.get_message(MessageCodes.INVALID_PRIMARY_INDEX),
|
|
1161
|
+
MessageCodes.INVALID_PRIMARY_INDEX)
|
|
1162
|
+
except:
|
|
1163
|
+
raise TeradataMlException(
|
|
1164
|
+
Messages.get_message(MessageCodes.TDMLDF_SELECT_DF_FAIL),
|
|
1165
|
+
MessageCodes.TDMLDF_SELECT_DF_FAIL)
|
|
1166
|
+
|
|
1167
|
+
return pandas_df
|