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
|
@@ -1,507 +1,507 @@
|
|
|
1
|
-
#########################################################################
|
|
2
|
-
# Unpublished work. #
|
|
3
|
-
# Copyright (c) 2020 by Teradata Corporation. All rights reserved. #
|
|
4
|
-
# TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET #
|
|
5
|
-
# #
|
|
6
|
-
# Primary Owner: Gouri.Patwardhan@teradata.com #
|
|
7
|
-
# Secondary Owner: Trupti.Purohit@teradata.com #
|
|
8
|
-
# #
|
|
9
|
-
# This file implements class for SQL query generation. #
|
|
10
|
-
#########################################################################
|
|
11
|
-
|
|
12
|
-
import os
|
|
13
|
-
from collections import OrderedDict
|
|
14
|
-
from teradataml.common.utils import UtilFuncs
|
|
15
|
-
from teradataml.context.context import _get_function_mappings
|
|
16
|
-
from teradataml.common.messagecodes import MessageCodes
|
|
17
|
-
from teradataml.common.messages import Messages
|
|
18
|
-
from teradataml.common.exceptions import TeradataMlException
|
|
19
|
-
from teradataml.dataframe.dataframe_utils import DataFrameUtils
|
|
20
|
-
from teradataml.options.configure import configure
|
|
21
|
-
|
|
22
|
-
# Current directory is table_operators folder.
|
|
23
|
-
teradataml_folder = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
24
|
-
config_folder = os.path.join(teradataml_folder, "config")
|
|
25
|
-
|
|
26
|
-
class QueryGenerator:
|
|
27
|
-
"""
|
|
28
|
-
This class creates a Query object, which can be used to generate
|
|
29
|
-
SQL-MR/Analytical query in FFE syntax for Teradata or Table Operator queries for Vantage
|
|
30
|
-
"""
|
|
31
|
-
|
|
32
|
-
def __init__(self, function_name, func_input_arg_sql_names, func_input_table_view_query, func_input_dataframe_type,
|
|
33
|
-
func_input_distribution, func_input_partition_by_cols, func_input_order_by_cols,
|
|
34
|
-
func_other_arg_sql_names, func_other_args_values, func_other_arg_json_datatypes,
|
|
35
|
-
func_output_args_sql_names, func_output_args_values, func_type="FFE",
|
|
36
|
-
engine="ENGINE_ML"):
|
|
37
|
-
|
|
38
|
-
"""
|
|
39
|
-
QueryGenerator constructor, to create a table operator object, for
|
|
40
|
-
Table Operator query generation.
|
|
41
|
-
|
|
42
|
-
PARAMETERS:
|
|
43
|
-
function_name:
|
|
44
|
-
Required Argument.
|
|
45
|
-
Specifies the name of the function.
|
|
46
|
-
|
|
47
|
-
func_input_arg_sql_names:
|
|
48
|
-
Required Argument.
|
|
49
|
-
Specifies the list of input SQL Argument names.
|
|
50
|
-
|
|
51
|
-
func_input_table_view_query:
|
|
52
|
-
Required Argument.
|
|
53
|
-
Specifies the list of input argument values, with
|
|
54
|
-
respect to 'func_input_arg_sql_names' which contains
|
|
55
|
-
table_name or SQL (Select query).
|
|
56
|
-
|
|
57
|
-
func_input_dataframe_type:
|
|
58
|
-
Required Argument.
|
|
59
|
-
Specifies the list of dataframe types for each input.
|
|
60
|
-
Values can be "TABLE" or "QUERY".
|
|
61
|
-
|
|
62
|
-
func_input_distribution:
|
|
63
|
-
Required Argument.
|
|
64
|
-
Specifies the list containing distributions for each
|
|
65
|
-
input. Values can be "FACT", "HASH", DIMENSION", "NONE".
|
|
66
|
-
|
|
67
|
-
func_input_partition_by cols:
|
|
68
|
-
Required Argument.
|
|
69
|
-
Specifes the list containing partition columns for
|
|
70
|
-
each input, if distribution is FACT or HASH.
|
|
71
|
-
|
|
72
|
-
func_input_order_by_cols:
|
|
73
|
-
Required Argument.
|
|
74
|
-
Specifies the list of values, for each input, to be
|
|
75
|
-
used order by clause.
|
|
76
|
-
|
|
77
|
-
func_other_arg_sql_names:
|
|
78
|
-
Required Argument.
|
|
79
|
-
Specifies the list of other function arguments SQL
|
|
80
|
-
name.
|
|
81
|
-
|
|
82
|
-
func_other_args_values:
|
|
83
|
-
Required Argument.
|
|
84
|
-
Specifies the list of other function argument values,
|
|
85
|
-
with respect to each member in 'func_other_arg_sql_names'.
|
|
86
|
-
|
|
87
|
-
func_other_arg_json_datatypes:
|
|
88
|
-
Required Argument.
|
|
89
|
-
Specifies the list of JSON datatypes for each member in
|
|
90
|
-
'func_other_arg_sql_names'.
|
|
91
|
-
|
|
92
|
-
func_output_args_sql_names:
|
|
93
|
-
Required Argument.
|
|
94
|
-
Specifies the list of output SQL argument names.
|
|
95
|
-
|
|
96
|
-
func_output_args_values:
|
|
97
|
-
Required Argument.
|
|
98
|
-
Specifies the list of output table names for each
|
|
99
|
-
output table argument in 'func_output_args_sql_names'.
|
|
100
|
-
|
|
101
|
-
func_type:
|
|
102
|
-
Required Argument. Fixed value 'FFE'.
|
|
103
|
-
Kept for future purpose, to generate different syntaxes.
|
|
104
|
-
|
|
105
|
-
engine:
|
|
106
|
-
Optional Argument.
|
|
107
|
-
Specifies the type of engine.
|
|
108
|
-
Default Value : ENGINE_ML
|
|
109
|
-
Permitted Values : ENGINE_ML, ENGINE_SQL
|
|
110
|
-
|
|
111
|
-
RETURNS:
|
|
112
|
-
Table Operator object.
|
|
113
|
-
|
|
114
|
-
RAISES:
|
|
115
|
-
|
|
116
|
-
EXAMPLES:
|
|
117
|
-
aqg_obj = QueryGenerator(self.function_name, self.input_sql_args,
|
|
118
|
-
self.input_table_qry, self.input_df_type,
|
|
119
|
-
self.input_distribution, self.input_partition_columns,
|
|
120
|
-
self.input_order_columns, self.other_sql_args,
|
|
121
|
-
self.other_args_val, [], self.output_sql_args,
|
|
122
|
-
self.output_args_val, engine="ENGINE_SQL")
|
|
123
|
-
"""
|
|
124
|
-
self._engine = engine
|
|
125
|
-
self._function_name = self._get_alias_name_for_function(function_name)
|
|
126
|
-
self._func_input_arg_sql_names = func_input_arg_sql_names
|
|
127
|
-
self._func_input_table_view_query = func_input_table_view_query
|
|
128
|
-
self._func_input_dataframe_type = func_input_dataframe_type
|
|
129
|
-
self._func_input_distribution = func_input_distribution
|
|
130
|
-
self._func_input_partition_by_cols = func_input_partition_by_cols
|
|
131
|
-
self._func_input_order_by_cols = func_input_order_by_cols
|
|
132
|
-
self._func_other_arg_sql_names = func_other_arg_sql_names
|
|
133
|
-
self._func_other_args_values = func_other_args_values
|
|
134
|
-
self._func_other_arg_json_datatypes = func_other_arg_json_datatypes
|
|
135
|
-
self._func_output_args_sql_names = func_output_args_sql_names
|
|
136
|
-
self._func_output_args_values = func_output_args_values
|
|
137
|
-
self._func_output_args_values = func_type
|
|
138
|
-
self._SELECT_STMT_FMT = "SELECT * FROM {} as sqlmr"
|
|
139
|
-
self._QUERY_SIZE = self._get_string_size(self._SELECT_STMT_FMT) + 20
|
|
140
|
-
self._input_arg_clause_lengths = []
|
|
141
|
-
self._multi_query_input_nodes = []
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
def _process_for_teradata_keyword(self, keyword):
|
|
145
|
-
"""
|
|
146
|
-
Internal function to process Teradata Reserved keywords.
|
|
147
|
-
If keyword is in list of Teradata Reserved keywords, then it'll be quoted in double quotes "keyword".
|
|
148
|
-
|
|
149
|
-
PARAMETERS:
|
|
150
|
-
keyword - A string to check whether it belongs to Teradata Reserved Keywords or not.
|
|
151
|
-
|
|
152
|
-
RETURNS:
|
|
153
|
-
A quoted string, if keyword is one of the Teradata Reserved Keyword, else str as is.
|
|
154
|
-
|
|
155
|
-
RAISES:
|
|
156
|
-
|
|
157
|
-
EXAMPLES:
|
|
158
|
-
# Passing non-reserved returns "xyz" as is.
|
|
159
|
-
keyword = self.__process_for_teradata_keyword("xyz")
|
|
160
|
-
print(keyword)
|
|
161
|
-
# Passing reserved str returns double-quoted str, i.e., "\"threshold\"".
|
|
162
|
-
keyword = self.__process_for_teradata_keyword("threshold")
|
|
163
|
-
print(keyword)
|
|
164
|
-
|
|
165
|
-
"""
|
|
166
|
-
TERADATA_RESERVED_WORDS = ["INPUT", "THRESHOLD", "CHECK", "SUMMARY", "HASH", "METHOD"]
|
|
167
|
-
if keyword.upper() in TERADATA_RESERVED_WORDS:
|
|
168
|
-
return UtilFuncs._teradata_quote_arg(keyword, "\"", False)
|
|
169
|
-
else:
|
|
170
|
-
return keyword
|
|
171
|
-
|
|
172
|
-
def _generate_query_func_other_arg_sql(self):
|
|
173
|
-
"""
|
|
174
|
-
Private function to generate a SQL clause for other function arguments.
|
|
175
|
-
For Example,
|
|
176
|
-
Step("False")
|
|
177
|
-
Family("BINOMIAL")
|
|
178
|
-
|
|
179
|
-
PARAMETERS:
|
|
180
|
-
|
|
181
|
-
RETURNS:
|
|
182
|
-
SQL string for other function arguments, as shown in example here.
|
|
183
|
-
|
|
184
|
-
RAISES:
|
|
185
|
-
|
|
186
|
-
EXAMPLES:
|
|
187
|
-
_func_other_arg_sql_names = ["Step", "Family"]
|
|
188
|
-
_func_other_args_values = ["False", "BINOMIAL"]
|
|
189
|
-
other_arg_sql = self._generate_tblop_func_other_arg_sql()
|
|
190
|
-
# Output is as shown in example in description.
|
|
191
|
-
|
|
192
|
-
"""
|
|
193
|
-
args_sql_str = ""
|
|
194
|
-
for index in range(len(self._func_other_arg_sql_names)):
|
|
195
|
-
args_sql_str = "{0}\n\t{1}({2})".format(args_sql_str,
|
|
196
|
-
self._process_for_teradata_keyword(
|
|
197
|
-
self._func_other_arg_sql_names[index]),
|
|
198
|
-
self._func_other_args_values[index])
|
|
199
|
-
|
|
200
|
-
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(args_sql_str)
|
|
201
|
-
return args_sql_str
|
|
202
|
-
|
|
203
|
-
def _generate_tblop_input_arg_sql(self, table_ref, table_ref_type, alias=None):
|
|
204
|
-
"""
|
|
205
|
-
Private function to generate a ON clause for input function arguments.
|
|
206
|
-
For Example,
|
|
207
|
-
ON table_name AS InputTable
|
|
208
|
-
ON (select * from table) AS InputTable
|
|
209
|
-
|
|
210
|
-
PARAMETERS:
|
|
211
|
-
table_ref - Table name or query, to be used as input.
|
|
212
|
-
table_ref_type - Type of data frame.
|
|
213
|
-
alias - Alias to be used for input.
|
|
214
|
-
|
|
215
|
-
RETURNS:
|
|
216
|
-
ON clause SQL string for input function arguments, as shown in example here.
|
|
217
|
-
|
|
218
|
-
RAISES:
|
|
219
|
-
TODO
|
|
220
|
-
|
|
221
|
-
EXAMPLES:
|
|
222
|
-
other_arg_sql = self._generate_tblop_input_arg_sql("table_name", "TABLE", "InputTable")
|
|
223
|
-
# Output is as shown in example in description.
|
|
224
|
-
|
|
225
|
-
"""
|
|
226
|
-
returnSql = "\n\tON"
|
|
227
|
-
if table_ref_type == "TABLE":
|
|
228
|
-
returnSql = "{0} {1}".format(returnSql, table_ref)
|
|
229
|
-
elif table_ref_type == "QUERY":
|
|
230
|
-
returnSql = "{0} ({1})".format(returnSql, table_ref)
|
|
231
|
-
else:
|
|
232
|
-
#TODO raise # Error
|
|
233
|
-
""
|
|
234
|
-
|
|
235
|
-
if alias is not None:
|
|
236
|
-
returnSql = "{0} AS {1}".format(returnSql, self._process_for_teradata_keyword(alias))
|
|
237
|
-
|
|
238
|
-
return returnSql
|
|
239
|
-
|
|
240
|
-
def _generate_tblop_output_arg_sql(self):
|
|
241
|
-
"""
|
|
242
|
-
Private function to generate a SQL clause for output function arguments.
|
|
243
|
-
For Example,
|
|
244
|
-
OUT TABLE OutputTable("out_table_1")
|
|
245
|
-
OUT TABLE CoefficientsTable("out_table_2")
|
|
246
|
-
|
|
247
|
-
PARAMETERS:
|
|
248
|
-
|
|
249
|
-
RETURNS:
|
|
250
|
-
SQL string for output function arguments, as shown in example here.
|
|
251
|
-
|
|
252
|
-
RAISES:
|
|
253
|
-
|
|
254
|
-
EXAMPLES:
|
|
255
|
-
_func_output_args_sql_names = ["OutputTable", "CoefficientsTable"]
|
|
256
|
-
_func_output_args_values = ["out_table_1", "out_table_2"]
|
|
257
|
-
other_arg_sql = self._generate_tblop_output_arg_sql()
|
|
258
|
-
# Output is as shown in example in description.
|
|
259
|
-
|
|
260
|
-
"""
|
|
261
|
-
args_sql_str = ""
|
|
262
|
-
for index in range(len(self._func_output_args_sql_names)):
|
|
263
|
-
if self._func_output_args_values[index] is not None:
|
|
264
|
-
args_sql_str = "{0}\n\tOUT TABLE {1}({2})".format(args_sql_str,
|
|
265
|
-
self._process_for_teradata_keyword(
|
|
266
|
-
self._func_output_args_sql_names[index]),
|
|
267
|
-
self._func_output_args_values[index])
|
|
268
|
-
|
|
269
|
-
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(args_sql_str)
|
|
270
|
-
return args_sql_str
|
|
271
|
-
|
|
272
|
-
def _single_complete_table_ref_clause(self):
|
|
273
|
-
"""
|
|
274
|
-
Private function to generate complete ON clause for input function arguments, including
|
|
275
|
-
partition by and order by clause, if any.
|
|
276
|
-
For Example,
|
|
277
|
-
ON table_name AS InputTable1 Partition By col1 Order By col2
|
|
278
|
-
ON (select * from table) AS InputTable2 DIMENSION
|
|
279
|
-
|
|
280
|
-
PARAMETERS:
|
|
281
|
-
|
|
282
|
-
RETURNS:
|
|
283
|
-
Complete input argument clause, SQL string for input function arguments, as shown in example here.
|
|
284
|
-
|
|
285
|
-
RAISES:
|
|
286
|
-
|
|
287
|
-
EXAMPLES:
|
|
288
|
-
_func_input_arg_sql_names = ["InputTable1", "InputTable2"]
|
|
289
|
-
_func_input_table_view_query = ["table_name", "select * from table"]
|
|
290
|
-
_func_input_dataframe_type = ["TABLE", "QUERY"]
|
|
291
|
-
_func_input_distribution = ["FACT", "DIMENSION"]
|
|
292
|
-
_func_input_partition_by_cols = ["col1", "NA_character_"]
|
|
293
|
-
_func_input_order_by_cols = ["col2", "NA_character_"]
|
|
294
|
-
other_arg_sql = self._single_complete_table_ref_clause()
|
|
295
|
-
# Output is as shown in example in description.
|
|
296
|
-
|
|
297
|
-
"""
|
|
298
|
-
on_clause_dict = OrderedDict()
|
|
299
|
-
args_sql_str = []
|
|
300
|
-
# Let's iterate over the input arguments to the analytic functions.
|
|
301
|
-
# Gather all the information provided by the wrapper.
|
|
302
|
-
for index in range(len(self._func_input_arg_sql_names)):
|
|
303
|
-
# Get table reference. This contains following information:
|
|
304
|
-
# table name or view name OR
|
|
305
|
-
# A list of [view_name, query, node_query_type, node_id] gathered from
|
|
306
|
-
# 'aed_exec_query_output' for the input node.
|
|
307
|
-
table_ref = self._func_input_table_view_query[index]
|
|
308
|
-
# Get the table reference type, which is, either "TABLE" or "QUERY"
|
|
309
|
-
table_ref_type = self._func_input_dataframe_type[index]
|
|
310
|
-
# Input argument alias
|
|
311
|
-
alias = self._func_input_arg_sql_names[index]
|
|
312
|
-
# Partition information
|
|
313
|
-
distribution = self._func_input_distribution[index]
|
|
314
|
-
partition_col = self._func_input_partition_by_cols[index]
|
|
315
|
-
# Order clause information
|
|
316
|
-
order_col = self._func_input_order_by_cols[index]
|
|
317
|
-
# Get the Partition clause for the input argument.
|
|
318
|
-
partition_clause = self.__gen_tblop_input_partition_clause(distribution, partition_col)
|
|
319
|
-
# Get the Order clause for the input argument.
|
|
320
|
-
order_clause = self.__gen_tblop_input_order_clause(order_by_type, order_col, sort_ascending, nulls_first)
|
|
321
|
-
|
|
322
|
-
if table_ref_type == "TABLE":
|
|
323
|
-
# If table reference type is "TABLE", then let's use the table name in the query.
|
|
324
|
-
on_clause = self._generate_tblop_input_arg_sql(table_ref, table_ref_type, alias)
|
|
325
|
-
on_clause_str = "{0}{1}{2}".format(on_clause, partition_clause, order_clause)
|
|
326
|
-
args_sql_str.append(on_clause_str)
|
|
327
|
-
# Update the length of the PARTITION clause.
|
|
328
|
-
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(on_clause_str)
|
|
329
|
-
else:
|
|
330
|
-
# Store the input argument information for the inputs, which will use query as input.
|
|
331
|
-
on_clause_dict[index] = {}
|
|
332
|
-
on_clause_dict[index]["PARTITION_CLAUSE"] = partition_clause
|
|
333
|
-
on_clause_dict[index]["ORDER_CLAUSE"] = order_clause
|
|
334
|
-
on_clause_dict[index]["ON_TABLE"] = self._generate_tblop_input_arg_sql(table_ref[0], "TABLE", alias)
|
|
335
|
-
on_clause_dict[index]["ON_QRY"] = self._generate_tblop_input_arg_sql(table_ref[1], "QUERY", alias)
|
|
336
|
-
on_clause_dict[index]["QRY_TYPE"] = table_ref[2]
|
|
337
|
-
on_clause_dict[index]["NODEID"] = table_ref[3]
|
|
338
|
-
on_clause_dict[index]["LAZY"] = table_ref[4]
|
|
339
|
-
# If input node results in returning multiple queries save that input node
|
|
340
|
-
# in '_multi_query_input_nodes' list.
|
|
341
|
-
if table_ref[5]:
|
|
342
|
-
self._multi_query_input_nodes.append(table_ref[3])
|
|
343
|
-
|
|
344
|
-
# Process OrderedDict to generate input argument clause.
|
|
345
|
-
for key in on_clause_dict.keys():
|
|
346
|
-
if self._QUERY_SIZE + self._get_string_size(on_clause_dict[key]["ON_QRY"]) <= 900000:
|
|
347
|
-
on_clause_str = "{0}{1}{2}".format(on_clause_dict[key]["ON_QRY"],
|
|
348
|
-
on_clause_dict[key]["PARTITION_CLAUSE"],
|
|
349
|
-
on_clause_dict[key]["ORDER_CLAUSE"])
|
|
350
|
-
else:
|
|
351
|
-
# We are here means query maximum size will be exceeded here.
|
|
352
|
-
# So let's add the input node to multi-query input node list, as
|
|
353
|
-
# we would like execute this node as well as part of the execution.
|
|
354
|
-
# Add it in the list, if we have not done it already.
|
|
355
|
-
if on_clause_dict[key]["NODEID"] not in self._multi_query_input_nodes:
|
|
356
|
-
self._multi_query_input_nodes.append(on_clause_dict[key]["NODEID"])
|
|
357
|
-
|
|
358
|
-
# Use the table name/view name in the on clause.
|
|
359
|
-
on_clause_str = "{0}{1}{2}".format(on_clause_dict[key]["ON_TABLE"],
|
|
360
|
-
on_clause_dict[key]["PARTITION_CLAUSE"],
|
|
361
|
-
on_clause_dict[key]["ORDER_CLAUSE"])
|
|
362
|
-
|
|
363
|
-
# Execute input node here, if function is not lazy.
|
|
364
|
-
if not on_clause_dict[key]["LAZY"]:
|
|
365
|
-
DataFrameUtils._execute_node_return_db_object_name(on_clause_dict[key]["NODEID"])
|
|
366
|
-
|
|
367
|
-
args_sql_str.append(on_clause_str)
|
|
368
|
-
|
|
369
|
-
# Add the length of the ON clause.
|
|
370
|
-
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(on_clause_str)
|
|
371
|
-
|
|
372
|
-
return " ".join(args_sql_str)
|
|
373
|
-
|
|
374
|
-
def __gen_tblop_input_order_clause(self, order_by_type, column_order, sort_ascending, nulls_first):
|
|
375
|
-
"""
|
|
376
|
-
Private function to generate complete order by clause for input function arguments.
|
|
377
|
-
For Example,
|
|
378
|
-
Order By col2
|
|
379
|
-
|
|
380
|
-
PARAMETERS:
|
|
381
|
-
column_order - Column to be used in ORDER BY clause. If this is "NA_character_"
|
|
382
|
-
no ORDER BY clause is generated.
|
|
383
|
-
|
|
384
|
-
RETURNS:
|
|
385
|
-
Order By clause, as shown in example here.
|
|
386
|
-
|
|
387
|
-
RAISES:
|
|
388
|
-
|
|
389
|
-
EXAMPLES:
|
|
390
|
-
other_arg_sql = self._gen_tblop_input_order_clause("col2")
|
|
391
|
-
# Output is as shown in example in description.
|
|
392
|
-
|
|
393
|
-
"""
|
|
394
|
-
sort_order = "ASC"
|
|
395
|
-
nulls_order = None
|
|
396
|
-
if column_order == "NA_character_" or column_order is None:
|
|
397
|
-
return ""
|
|
398
|
-
if sort_ascending == False:
|
|
399
|
-
sort_order = "DESC"
|
|
400
|
-
|
|
401
|
-
if nulls_first == True:
|
|
402
|
-
nulls_order = "NULLS FIRST"
|
|
403
|
-
elif nulls_first == False:
|
|
404
|
-
nulls_order = "NULLS LAST"
|
|
405
|
-
|
|
406
|
-
if order_by_type == "LOCAL":
|
|
407
|
-
args_sql_str = "\n\t LOCAL ORDER BY {0} {1} {2}".format(column_order, sort_order, nulls_order)
|
|
408
|
-
else:
|
|
409
|
-
args_sql_str = "\n\tORDER BY {0} {1} {2}".format(column_order, sort_order, nulls_order)
|
|
410
|
-
|
|
411
|
-
# Get the length of the ORDER clause.
|
|
412
|
-
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(args_sql_str)
|
|
413
|
-
|
|
414
|
-
return args_sql_str
|
|
415
|
-
|
|
416
|
-
def __gen_tblop_input_partition_clause(self, distribution, column):
|
|
417
|
-
"""
|
|
418
|
-
Private function to generate PARTITION BY or DIMENSION clause for input function arguments.
|
|
419
|
-
For Example,
|
|
420
|
-
Partition By col1
|
|
421
|
-
DIMENSION
|
|
422
|
-
|
|
423
|
-
PARAMETERS:
|
|
424
|
-
distribution - Type of clause to be generated. Values accepted here are: FACT, DIMENSION, NONE
|
|
425
|
-
column - Column to be used in PARTITION BY clause, when distribution is "FACT"
|
|
426
|
-
|
|
427
|
-
RETURNS:
|
|
428
|
-
Partition clause, based on the type of distribution:
|
|
429
|
-
When "FACT" - PARTITION BY clause is generated.
|
|
430
|
-
When "DIMENSION" - DIMENSION clause is generated.
|
|
431
|
-
When "NONE" - No clause is generated, an empty string is returned.
|
|
432
|
-
|
|
433
|
-
RAISES:
|
|
434
|
-
TODO
|
|
435
|
-
|
|
436
|
-
EXAMPLES:
|
|
437
|
-
other_arg_sql = self.__gen_tblop_input_partition_clause("FACT", "col1")
|
|
438
|
-
# Output is as shown in example in description.
|
|
439
|
-
|
|
440
|
-
"""
|
|
441
|
-
if distribution == "FACT" and column is not None:
|
|
442
|
-
args_sql_str = "\n\tPARTITION BY {0}".format(column)
|
|
443
|
-
elif distribution == "FACT" and column is None:
|
|
444
|
-
args_sql_str = "\n\tPARTITION BY ANY"
|
|
445
|
-
elif distribution == "DIMENSION":
|
|
446
|
-
args_sql_str = "\n\tDIMENSION"
|
|
447
|
-
elif distribution == "HASH" and column is not None:
|
|
448
|
-
args_sql_str = "\n\t HASH BY {0}".format(column)
|
|
449
|
-
elif distribution == "NONE":
|
|
450
|
-
return ""
|
|
451
|
-
else:
|
|
452
|
-
return ""
|
|
453
|
-
# TODO raise error "invalid distribution type"
|
|
454
|
-
|
|
455
|
-
# Get the length of the PARTITION clause.
|
|
456
|
-
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(args_sql_str)
|
|
457
|
-
return args_sql_str
|
|
458
|
-
|
|
459
|
-
def _get_alias_name_for_function(self, function_name):
|
|
460
|
-
"""
|
|
461
|
-
Function to return the alias name mapped to the actual
|
|
462
|
-
analytic function.
|
|
463
|
-
|
|
464
|
-
PARAMETERS:
|
|
465
|
-
function_name:
|
|
466
|
-
Required Argument.
|
|
467
|
-
Specifies the name of the function for which alias
|
|
468
|
-
name should be returned.
|
|
469
|
-
|
|
470
|
-
RETURNS:
|
|
471
|
-
Function alias name for the given function_name.
|
|
472
|
-
|
|
473
|
-
RAISES:
|
|
474
|
-
TeradataMLException
|
|
475
|
-
|
|
476
|
-
EXAMPLES:
|
|
477
|
-
aqgObj._get_alias_name_for_function("GLM")
|
|
478
|
-
"""
|
|
479
|
-
# If function is a nos function, then alias name is same as function name or function mapping name.
|
|
480
|
-
if "ReadNOS".lower() == function_name.lower():
|
|
481
|
-
return configure.read_nos_function_mapping.upper()
|
|
482
|
-
elif "WriteNOS".lower() == function_name.lower():
|
|
483
|
-
return configure.write_nos_function_mapping.upper()
|
|
484
|
-
|
|
485
|
-
engine_name = UtilFuncs._get_engine_name(self._engine)
|
|
486
|
-
|
|
487
|
-
# Get function mappings which are already loaded during create_context or set_context.
|
|
488
|
-
function_mappings = _get_function_mappings()
|
|
489
|
-
|
|
490
|
-
try:
|
|
491
|
-
return function_mappings[configure.vantage_version][engine_name][function_name.lower()]
|
|
492
|
-
except KeyError as ke:
|
|
493
|
-
if str(ke) == "'{}'".format(function_name.lower()):
|
|
494
|
-
raise TeradataMlException(Messages.get_message(
|
|
495
|
-
MessageCodes.FUNCTION_NOT_SUPPORTED).format(configure.vantage_version),
|
|
496
|
-
MessageCodes.FUNCTION_NOT_SUPPORTED) from ke
|
|
497
|
-
else:
|
|
498
|
-
raise
|
|
499
|
-
except TeradataMlException:
|
|
500
|
-
raise
|
|
501
|
-
except Exception as err:
|
|
502
|
-
raise TeradataMlException(Messages.get_message(
|
|
503
|
-
MessageCodes.CONFIG_ALIAS_ANLY_FUNC_NOT_FOUND).format(function_name, config_folder),
|
|
504
|
-
MessageCodes.CONFIG_ALIAS_ANLY_FUNC_NOT_FOUND) from err
|
|
505
|
-
|
|
506
|
-
def _get_string_size(self, string):
|
|
507
|
-
return len(string.encode("utf8"))
|
|
1
|
+
#########################################################################
|
|
2
|
+
# Unpublished work. #
|
|
3
|
+
# Copyright (c) 2020 by Teradata Corporation. All rights reserved. #
|
|
4
|
+
# TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET #
|
|
5
|
+
# #
|
|
6
|
+
# Primary Owner: Gouri.Patwardhan@teradata.com #
|
|
7
|
+
# Secondary Owner: Trupti.Purohit@teradata.com #
|
|
8
|
+
# #
|
|
9
|
+
# This file implements class for SQL query generation. #
|
|
10
|
+
#########################################################################
|
|
11
|
+
|
|
12
|
+
import os
|
|
13
|
+
from collections import OrderedDict
|
|
14
|
+
from teradataml.common.utils import UtilFuncs
|
|
15
|
+
from teradataml.context.context import _get_function_mappings
|
|
16
|
+
from teradataml.common.messagecodes import MessageCodes
|
|
17
|
+
from teradataml.common.messages import Messages
|
|
18
|
+
from teradataml.common.exceptions import TeradataMlException
|
|
19
|
+
from teradataml.dataframe.dataframe_utils import DataFrameUtils
|
|
20
|
+
from teradataml.options.configure import configure
|
|
21
|
+
|
|
22
|
+
# Current directory is table_operators folder.
|
|
23
|
+
teradataml_folder = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
24
|
+
config_folder = os.path.join(teradataml_folder, "config")
|
|
25
|
+
|
|
26
|
+
class QueryGenerator:
|
|
27
|
+
"""
|
|
28
|
+
This class creates a Query object, which can be used to generate
|
|
29
|
+
SQL-MR/Analytical query in FFE syntax for Teradata or Table Operator queries for Vantage
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
def __init__(self, function_name, func_input_arg_sql_names, func_input_table_view_query, func_input_dataframe_type,
|
|
33
|
+
func_input_distribution, func_input_partition_by_cols, func_input_order_by_cols,
|
|
34
|
+
func_other_arg_sql_names, func_other_args_values, func_other_arg_json_datatypes,
|
|
35
|
+
func_output_args_sql_names, func_output_args_values, func_type="FFE",
|
|
36
|
+
engine="ENGINE_ML"):
|
|
37
|
+
|
|
38
|
+
"""
|
|
39
|
+
QueryGenerator constructor, to create a table operator object, for
|
|
40
|
+
Table Operator query generation.
|
|
41
|
+
|
|
42
|
+
PARAMETERS:
|
|
43
|
+
function_name:
|
|
44
|
+
Required Argument.
|
|
45
|
+
Specifies the name of the function.
|
|
46
|
+
|
|
47
|
+
func_input_arg_sql_names:
|
|
48
|
+
Required Argument.
|
|
49
|
+
Specifies the list of input SQL Argument names.
|
|
50
|
+
|
|
51
|
+
func_input_table_view_query:
|
|
52
|
+
Required Argument.
|
|
53
|
+
Specifies the list of input argument values, with
|
|
54
|
+
respect to 'func_input_arg_sql_names' which contains
|
|
55
|
+
table_name or SQL (Select query).
|
|
56
|
+
|
|
57
|
+
func_input_dataframe_type:
|
|
58
|
+
Required Argument.
|
|
59
|
+
Specifies the list of dataframe types for each input.
|
|
60
|
+
Values can be "TABLE" or "QUERY".
|
|
61
|
+
|
|
62
|
+
func_input_distribution:
|
|
63
|
+
Required Argument.
|
|
64
|
+
Specifies the list containing distributions for each
|
|
65
|
+
input. Values can be "FACT", "HASH", DIMENSION", "NONE".
|
|
66
|
+
|
|
67
|
+
func_input_partition_by cols:
|
|
68
|
+
Required Argument.
|
|
69
|
+
Specifes the list containing partition columns for
|
|
70
|
+
each input, if distribution is FACT or HASH.
|
|
71
|
+
|
|
72
|
+
func_input_order_by_cols:
|
|
73
|
+
Required Argument.
|
|
74
|
+
Specifies the list of values, for each input, to be
|
|
75
|
+
used order by clause.
|
|
76
|
+
|
|
77
|
+
func_other_arg_sql_names:
|
|
78
|
+
Required Argument.
|
|
79
|
+
Specifies the list of other function arguments SQL
|
|
80
|
+
name.
|
|
81
|
+
|
|
82
|
+
func_other_args_values:
|
|
83
|
+
Required Argument.
|
|
84
|
+
Specifies the list of other function argument values,
|
|
85
|
+
with respect to each member in 'func_other_arg_sql_names'.
|
|
86
|
+
|
|
87
|
+
func_other_arg_json_datatypes:
|
|
88
|
+
Required Argument.
|
|
89
|
+
Specifies the list of JSON datatypes for each member in
|
|
90
|
+
'func_other_arg_sql_names'.
|
|
91
|
+
|
|
92
|
+
func_output_args_sql_names:
|
|
93
|
+
Required Argument.
|
|
94
|
+
Specifies the list of output SQL argument names.
|
|
95
|
+
|
|
96
|
+
func_output_args_values:
|
|
97
|
+
Required Argument.
|
|
98
|
+
Specifies the list of output table names for each
|
|
99
|
+
output table argument in 'func_output_args_sql_names'.
|
|
100
|
+
|
|
101
|
+
func_type:
|
|
102
|
+
Required Argument. Fixed value 'FFE'.
|
|
103
|
+
Kept for future purpose, to generate different syntaxes.
|
|
104
|
+
|
|
105
|
+
engine:
|
|
106
|
+
Optional Argument.
|
|
107
|
+
Specifies the type of engine.
|
|
108
|
+
Default Value : ENGINE_ML
|
|
109
|
+
Permitted Values : ENGINE_ML, ENGINE_SQL
|
|
110
|
+
|
|
111
|
+
RETURNS:
|
|
112
|
+
Table Operator object.
|
|
113
|
+
|
|
114
|
+
RAISES:
|
|
115
|
+
|
|
116
|
+
EXAMPLES:
|
|
117
|
+
aqg_obj = QueryGenerator(self.function_name, self.input_sql_args,
|
|
118
|
+
self.input_table_qry, self.input_df_type,
|
|
119
|
+
self.input_distribution, self.input_partition_columns,
|
|
120
|
+
self.input_order_columns, self.other_sql_args,
|
|
121
|
+
self.other_args_val, [], self.output_sql_args,
|
|
122
|
+
self.output_args_val, engine="ENGINE_SQL")
|
|
123
|
+
"""
|
|
124
|
+
self._engine = engine
|
|
125
|
+
self._function_name = self._get_alias_name_for_function(function_name)
|
|
126
|
+
self._func_input_arg_sql_names = func_input_arg_sql_names
|
|
127
|
+
self._func_input_table_view_query = func_input_table_view_query
|
|
128
|
+
self._func_input_dataframe_type = func_input_dataframe_type
|
|
129
|
+
self._func_input_distribution = func_input_distribution
|
|
130
|
+
self._func_input_partition_by_cols = func_input_partition_by_cols
|
|
131
|
+
self._func_input_order_by_cols = func_input_order_by_cols
|
|
132
|
+
self._func_other_arg_sql_names = func_other_arg_sql_names
|
|
133
|
+
self._func_other_args_values = func_other_args_values
|
|
134
|
+
self._func_other_arg_json_datatypes = func_other_arg_json_datatypes
|
|
135
|
+
self._func_output_args_sql_names = func_output_args_sql_names
|
|
136
|
+
self._func_output_args_values = func_output_args_values
|
|
137
|
+
self._func_output_args_values = func_type
|
|
138
|
+
self._SELECT_STMT_FMT = "SELECT * FROM {} as sqlmr"
|
|
139
|
+
self._QUERY_SIZE = self._get_string_size(self._SELECT_STMT_FMT) + 20
|
|
140
|
+
self._input_arg_clause_lengths = []
|
|
141
|
+
self._multi_query_input_nodes = []
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
def _process_for_teradata_keyword(self, keyword):
|
|
145
|
+
"""
|
|
146
|
+
Internal function to process Teradata Reserved keywords.
|
|
147
|
+
If keyword is in list of Teradata Reserved keywords, then it'll be quoted in double quotes "keyword".
|
|
148
|
+
|
|
149
|
+
PARAMETERS:
|
|
150
|
+
keyword - A string to check whether it belongs to Teradata Reserved Keywords or not.
|
|
151
|
+
|
|
152
|
+
RETURNS:
|
|
153
|
+
A quoted string, if keyword is one of the Teradata Reserved Keyword, else str as is.
|
|
154
|
+
|
|
155
|
+
RAISES:
|
|
156
|
+
|
|
157
|
+
EXAMPLES:
|
|
158
|
+
# Passing non-reserved returns "xyz" as is.
|
|
159
|
+
keyword = self.__process_for_teradata_keyword("xyz")
|
|
160
|
+
print(keyword)
|
|
161
|
+
# Passing reserved str returns double-quoted str, i.e., "\"threshold\"".
|
|
162
|
+
keyword = self.__process_for_teradata_keyword("threshold")
|
|
163
|
+
print(keyword)
|
|
164
|
+
|
|
165
|
+
"""
|
|
166
|
+
TERADATA_RESERVED_WORDS = ["INPUT", "THRESHOLD", "CHECK", "SUMMARY", "HASH", "METHOD"]
|
|
167
|
+
if keyword.upper() in TERADATA_RESERVED_WORDS:
|
|
168
|
+
return UtilFuncs._teradata_quote_arg(keyword, "\"", False)
|
|
169
|
+
else:
|
|
170
|
+
return keyword
|
|
171
|
+
|
|
172
|
+
def _generate_query_func_other_arg_sql(self):
|
|
173
|
+
"""
|
|
174
|
+
Private function to generate a SQL clause for other function arguments.
|
|
175
|
+
For Example,
|
|
176
|
+
Step("False")
|
|
177
|
+
Family("BINOMIAL")
|
|
178
|
+
|
|
179
|
+
PARAMETERS:
|
|
180
|
+
|
|
181
|
+
RETURNS:
|
|
182
|
+
SQL string for other function arguments, as shown in example here.
|
|
183
|
+
|
|
184
|
+
RAISES:
|
|
185
|
+
|
|
186
|
+
EXAMPLES:
|
|
187
|
+
_func_other_arg_sql_names = ["Step", "Family"]
|
|
188
|
+
_func_other_args_values = ["False", "BINOMIAL"]
|
|
189
|
+
other_arg_sql = self._generate_tblop_func_other_arg_sql()
|
|
190
|
+
# Output is as shown in example in description.
|
|
191
|
+
|
|
192
|
+
"""
|
|
193
|
+
args_sql_str = ""
|
|
194
|
+
for index in range(len(self._func_other_arg_sql_names)):
|
|
195
|
+
args_sql_str = "{0}\n\t{1}({2})".format(args_sql_str,
|
|
196
|
+
self._process_for_teradata_keyword(
|
|
197
|
+
self._func_other_arg_sql_names[index]),
|
|
198
|
+
self._func_other_args_values[index])
|
|
199
|
+
|
|
200
|
+
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(args_sql_str)
|
|
201
|
+
return args_sql_str
|
|
202
|
+
|
|
203
|
+
def _generate_tblop_input_arg_sql(self, table_ref, table_ref_type, alias=None):
|
|
204
|
+
"""
|
|
205
|
+
Private function to generate a ON clause for input function arguments.
|
|
206
|
+
For Example,
|
|
207
|
+
ON table_name AS InputTable
|
|
208
|
+
ON (select * from table) AS InputTable
|
|
209
|
+
|
|
210
|
+
PARAMETERS:
|
|
211
|
+
table_ref - Table name or query, to be used as input.
|
|
212
|
+
table_ref_type - Type of data frame.
|
|
213
|
+
alias - Alias to be used for input.
|
|
214
|
+
|
|
215
|
+
RETURNS:
|
|
216
|
+
ON clause SQL string for input function arguments, as shown in example here.
|
|
217
|
+
|
|
218
|
+
RAISES:
|
|
219
|
+
TODO
|
|
220
|
+
|
|
221
|
+
EXAMPLES:
|
|
222
|
+
other_arg_sql = self._generate_tblop_input_arg_sql("table_name", "TABLE", "InputTable")
|
|
223
|
+
# Output is as shown in example in description.
|
|
224
|
+
|
|
225
|
+
"""
|
|
226
|
+
returnSql = "\n\tON"
|
|
227
|
+
if table_ref_type == "TABLE":
|
|
228
|
+
returnSql = "{0} {1}".format(returnSql, table_ref)
|
|
229
|
+
elif table_ref_type == "QUERY":
|
|
230
|
+
returnSql = "{0} ({1})".format(returnSql, table_ref)
|
|
231
|
+
else:
|
|
232
|
+
#TODO raise # Error
|
|
233
|
+
""
|
|
234
|
+
|
|
235
|
+
if alias is not None:
|
|
236
|
+
returnSql = "{0} AS {1}".format(returnSql, self._process_for_teradata_keyword(alias))
|
|
237
|
+
|
|
238
|
+
return returnSql
|
|
239
|
+
|
|
240
|
+
def _generate_tblop_output_arg_sql(self):
|
|
241
|
+
"""
|
|
242
|
+
Private function to generate a SQL clause for output function arguments.
|
|
243
|
+
For Example,
|
|
244
|
+
OUT TABLE OutputTable("out_table_1")
|
|
245
|
+
OUT TABLE CoefficientsTable("out_table_2")
|
|
246
|
+
|
|
247
|
+
PARAMETERS:
|
|
248
|
+
|
|
249
|
+
RETURNS:
|
|
250
|
+
SQL string for output function arguments, as shown in example here.
|
|
251
|
+
|
|
252
|
+
RAISES:
|
|
253
|
+
|
|
254
|
+
EXAMPLES:
|
|
255
|
+
_func_output_args_sql_names = ["OutputTable", "CoefficientsTable"]
|
|
256
|
+
_func_output_args_values = ["out_table_1", "out_table_2"]
|
|
257
|
+
other_arg_sql = self._generate_tblop_output_arg_sql()
|
|
258
|
+
# Output is as shown in example in description.
|
|
259
|
+
|
|
260
|
+
"""
|
|
261
|
+
args_sql_str = ""
|
|
262
|
+
for index in range(len(self._func_output_args_sql_names)):
|
|
263
|
+
if self._func_output_args_values[index] is not None:
|
|
264
|
+
args_sql_str = "{0}\n\tOUT TABLE {1}({2})".format(args_sql_str,
|
|
265
|
+
self._process_for_teradata_keyword(
|
|
266
|
+
self._func_output_args_sql_names[index]),
|
|
267
|
+
self._func_output_args_values[index])
|
|
268
|
+
|
|
269
|
+
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(args_sql_str)
|
|
270
|
+
return args_sql_str
|
|
271
|
+
|
|
272
|
+
def _single_complete_table_ref_clause(self):
|
|
273
|
+
"""
|
|
274
|
+
Private function to generate complete ON clause for input function arguments, including
|
|
275
|
+
partition by and order by clause, if any.
|
|
276
|
+
For Example,
|
|
277
|
+
ON table_name AS InputTable1 Partition By col1 Order By col2
|
|
278
|
+
ON (select * from table) AS InputTable2 DIMENSION
|
|
279
|
+
|
|
280
|
+
PARAMETERS:
|
|
281
|
+
|
|
282
|
+
RETURNS:
|
|
283
|
+
Complete input argument clause, SQL string for input function arguments, as shown in example here.
|
|
284
|
+
|
|
285
|
+
RAISES:
|
|
286
|
+
|
|
287
|
+
EXAMPLES:
|
|
288
|
+
_func_input_arg_sql_names = ["InputTable1", "InputTable2"]
|
|
289
|
+
_func_input_table_view_query = ["table_name", "select * from table"]
|
|
290
|
+
_func_input_dataframe_type = ["TABLE", "QUERY"]
|
|
291
|
+
_func_input_distribution = ["FACT", "DIMENSION"]
|
|
292
|
+
_func_input_partition_by_cols = ["col1", "NA_character_"]
|
|
293
|
+
_func_input_order_by_cols = ["col2", "NA_character_"]
|
|
294
|
+
other_arg_sql = self._single_complete_table_ref_clause()
|
|
295
|
+
# Output is as shown in example in description.
|
|
296
|
+
|
|
297
|
+
"""
|
|
298
|
+
on_clause_dict = OrderedDict()
|
|
299
|
+
args_sql_str = []
|
|
300
|
+
# Let's iterate over the input arguments to the analytic functions.
|
|
301
|
+
# Gather all the information provided by the wrapper.
|
|
302
|
+
for index in range(len(self._func_input_arg_sql_names)):
|
|
303
|
+
# Get table reference. This contains following information:
|
|
304
|
+
# table name or view name OR
|
|
305
|
+
# A list of [view_name, query, node_query_type, node_id] gathered from
|
|
306
|
+
# 'aed_exec_query_output' for the input node.
|
|
307
|
+
table_ref = self._func_input_table_view_query[index]
|
|
308
|
+
# Get the table reference type, which is, either "TABLE" or "QUERY"
|
|
309
|
+
table_ref_type = self._func_input_dataframe_type[index]
|
|
310
|
+
# Input argument alias
|
|
311
|
+
alias = self._func_input_arg_sql_names[index]
|
|
312
|
+
# Partition information
|
|
313
|
+
distribution = self._func_input_distribution[index]
|
|
314
|
+
partition_col = self._func_input_partition_by_cols[index]
|
|
315
|
+
# Order clause information
|
|
316
|
+
order_col = self._func_input_order_by_cols[index]
|
|
317
|
+
# Get the Partition clause for the input argument.
|
|
318
|
+
partition_clause = self.__gen_tblop_input_partition_clause(distribution, partition_col)
|
|
319
|
+
# Get the Order clause for the input argument.
|
|
320
|
+
order_clause = self.__gen_tblop_input_order_clause(order_by_type, order_col, sort_ascending, nulls_first)
|
|
321
|
+
|
|
322
|
+
if table_ref_type == "TABLE":
|
|
323
|
+
# If table reference type is "TABLE", then let's use the table name in the query.
|
|
324
|
+
on_clause = self._generate_tblop_input_arg_sql(table_ref, table_ref_type, alias)
|
|
325
|
+
on_clause_str = "{0}{1}{2}".format(on_clause, partition_clause, order_clause)
|
|
326
|
+
args_sql_str.append(on_clause_str)
|
|
327
|
+
# Update the length of the PARTITION clause.
|
|
328
|
+
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(on_clause_str)
|
|
329
|
+
else:
|
|
330
|
+
# Store the input argument information for the inputs, which will use query as input.
|
|
331
|
+
on_clause_dict[index] = {}
|
|
332
|
+
on_clause_dict[index]["PARTITION_CLAUSE"] = partition_clause
|
|
333
|
+
on_clause_dict[index]["ORDER_CLAUSE"] = order_clause
|
|
334
|
+
on_clause_dict[index]["ON_TABLE"] = self._generate_tblop_input_arg_sql(table_ref[0], "TABLE", alias)
|
|
335
|
+
on_clause_dict[index]["ON_QRY"] = self._generate_tblop_input_arg_sql(table_ref[1], "QUERY", alias)
|
|
336
|
+
on_clause_dict[index]["QRY_TYPE"] = table_ref[2]
|
|
337
|
+
on_clause_dict[index]["NODEID"] = table_ref[3]
|
|
338
|
+
on_clause_dict[index]["LAZY"] = table_ref[4]
|
|
339
|
+
# If input node results in returning multiple queries save that input node
|
|
340
|
+
# in '_multi_query_input_nodes' list.
|
|
341
|
+
if table_ref[5]:
|
|
342
|
+
self._multi_query_input_nodes.append(table_ref[3])
|
|
343
|
+
|
|
344
|
+
# Process OrderedDict to generate input argument clause.
|
|
345
|
+
for key in on_clause_dict.keys():
|
|
346
|
+
if self._QUERY_SIZE + self._get_string_size(on_clause_dict[key]["ON_QRY"]) <= 900000:
|
|
347
|
+
on_clause_str = "{0}{1}{2}".format(on_clause_dict[key]["ON_QRY"],
|
|
348
|
+
on_clause_dict[key]["PARTITION_CLAUSE"],
|
|
349
|
+
on_clause_dict[key]["ORDER_CLAUSE"])
|
|
350
|
+
else:
|
|
351
|
+
# We are here means query maximum size will be exceeded here.
|
|
352
|
+
# So let's add the input node to multi-query input node list, as
|
|
353
|
+
# we would like execute this node as well as part of the execution.
|
|
354
|
+
# Add it in the list, if we have not done it already.
|
|
355
|
+
if on_clause_dict[key]["NODEID"] not in self._multi_query_input_nodes:
|
|
356
|
+
self._multi_query_input_nodes.append(on_clause_dict[key]["NODEID"])
|
|
357
|
+
|
|
358
|
+
# Use the table name/view name in the on clause.
|
|
359
|
+
on_clause_str = "{0}{1}{2}".format(on_clause_dict[key]["ON_TABLE"],
|
|
360
|
+
on_clause_dict[key]["PARTITION_CLAUSE"],
|
|
361
|
+
on_clause_dict[key]["ORDER_CLAUSE"])
|
|
362
|
+
|
|
363
|
+
# Execute input node here, if function is not lazy.
|
|
364
|
+
if not on_clause_dict[key]["LAZY"]:
|
|
365
|
+
DataFrameUtils._execute_node_return_db_object_name(on_clause_dict[key]["NODEID"])
|
|
366
|
+
|
|
367
|
+
args_sql_str.append(on_clause_str)
|
|
368
|
+
|
|
369
|
+
# Add the length of the ON clause.
|
|
370
|
+
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(on_clause_str)
|
|
371
|
+
|
|
372
|
+
return " ".join(args_sql_str)
|
|
373
|
+
|
|
374
|
+
def __gen_tblop_input_order_clause(self, order_by_type, column_order, sort_ascending, nulls_first):
|
|
375
|
+
"""
|
|
376
|
+
Private function to generate complete order by clause for input function arguments.
|
|
377
|
+
For Example,
|
|
378
|
+
Order By col2
|
|
379
|
+
|
|
380
|
+
PARAMETERS:
|
|
381
|
+
column_order - Column to be used in ORDER BY clause. If this is "NA_character_"
|
|
382
|
+
no ORDER BY clause is generated.
|
|
383
|
+
|
|
384
|
+
RETURNS:
|
|
385
|
+
Order By clause, as shown in example here.
|
|
386
|
+
|
|
387
|
+
RAISES:
|
|
388
|
+
|
|
389
|
+
EXAMPLES:
|
|
390
|
+
other_arg_sql = self._gen_tblop_input_order_clause("col2")
|
|
391
|
+
# Output is as shown in example in description.
|
|
392
|
+
|
|
393
|
+
"""
|
|
394
|
+
sort_order = "ASC"
|
|
395
|
+
nulls_order = None
|
|
396
|
+
if column_order == "NA_character_" or column_order is None:
|
|
397
|
+
return ""
|
|
398
|
+
if sort_ascending == False:
|
|
399
|
+
sort_order = "DESC"
|
|
400
|
+
|
|
401
|
+
if nulls_first == True:
|
|
402
|
+
nulls_order = "NULLS FIRST"
|
|
403
|
+
elif nulls_first == False:
|
|
404
|
+
nulls_order = "NULLS LAST"
|
|
405
|
+
|
|
406
|
+
if order_by_type == "LOCAL":
|
|
407
|
+
args_sql_str = "\n\t LOCAL ORDER BY {0} {1} {2}".format(column_order, sort_order, nulls_order)
|
|
408
|
+
else:
|
|
409
|
+
args_sql_str = "\n\tORDER BY {0} {1} {2}".format(column_order, sort_order, nulls_order)
|
|
410
|
+
|
|
411
|
+
# Get the length of the ORDER clause.
|
|
412
|
+
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(args_sql_str)
|
|
413
|
+
|
|
414
|
+
return args_sql_str
|
|
415
|
+
|
|
416
|
+
def __gen_tblop_input_partition_clause(self, distribution, column):
|
|
417
|
+
"""
|
|
418
|
+
Private function to generate PARTITION BY or DIMENSION clause for input function arguments.
|
|
419
|
+
For Example,
|
|
420
|
+
Partition By col1
|
|
421
|
+
DIMENSION
|
|
422
|
+
|
|
423
|
+
PARAMETERS:
|
|
424
|
+
distribution - Type of clause to be generated. Values accepted here are: FACT, DIMENSION, NONE
|
|
425
|
+
column - Column to be used in PARTITION BY clause, when distribution is "FACT"
|
|
426
|
+
|
|
427
|
+
RETURNS:
|
|
428
|
+
Partition clause, based on the type of distribution:
|
|
429
|
+
When "FACT" - PARTITION BY clause is generated.
|
|
430
|
+
When "DIMENSION" - DIMENSION clause is generated.
|
|
431
|
+
When "NONE" - No clause is generated, an empty string is returned.
|
|
432
|
+
|
|
433
|
+
RAISES:
|
|
434
|
+
TODO
|
|
435
|
+
|
|
436
|
+
EXAMPLES:
|
|
437
|
+
other_arg_sql = self.__gen_tblop_input_partition_clause("FACT", "col1")
|
|
438
|
+
# Output is as shown in example in description.
|
|
439
|
+
|
|
440
|
+
"""
|
|
441
|
+
if distribution == "FACT" and column is not None:
|
|
442
|
+
args_sql_str = "\n\tPARTITION BY {0}".format(column)
|
|
443
|
+
elif distribution == "FACT" and column is None:
|
|
444
|
+
args_sql_str = "\n\tPARTITION BY ANY"
|
|
445
|
+
elif distribution == "DIMENSION":
|
|
446
|
+
args_sql_str = "\n\tDIMENSION"
|
|
447
|
+
elif distribution == "HASH" and column is not None:
|
|
448
|
+
args_sql_str = "\n\t HASH BY {0}".format(column)
|
|
449
|
+
elif distribution == "NONE":
|
|
450
|
+
return ""
|
|
451
|
+
else:
|
|
452
|
+
return ""
|
|
453
|
+
# TODO raise error "invalid distribution type"
|
|
454
|
+
|
|
455
|
+
# Get the length of the PARTITION clause.
|
|
456
|
+
self._QUERY_SIZE = self._QUERY_SIZE + self._get_string_size(args_sql_str)
|
|
457
|
+
return args_sql_str
|
|
458
|
+
|
|
459
|
+
def _get_alias_name_for_function(self, function_name):
|
|
460
|
+
"""
|
|
461
|
+
Function to return the alias name mapped to the actual
|
|
462
|
+
analytic function.
|
|
463
|
+
|
|
464
|
+
PARAMETERS:
|
|
465
|
+
function_name:
|
|
466
|
+
Required Argument.
|
|
467
|
+
Specifies the name of the function for which alias
|
|
468
|
+
name should be returned.
|
|
469
|
+
|
|
470
|
+
RETURNS:
|
|
471
|
+
Function alias name for the given function_name.
|
|
472
|
+
|
|
473
|
+
RAISES:
|
|
474
|
+
TeradataMLException
|
|
475
|
+
|
|
476
|
+
EXAMPLES:
|
|
477
|
+
aqgObj._get_alias_name_for_function("GLM")
|
|
478
|
+
"""
|
|
479
|
+
# If function is a nos function, then alias name is same as function name or function mapping name.
|
|
480
|
+
if "ReadNOS".lower() == function_name.lower():
|
|
481
|
+
return configure.read_nos_function_mapping.upper()
|
|
482
|
+
elif "WriteNOS".lower() == function_name.lower():
|
|
483
|
+
return configure.write_nos_function_mapping.upper()
|
|
484
|
+
|
|
485
|
+
engine_name = UtilFuncs._get_engine_name(self._engine)
|
|
486
|
+
|
|
487
|
+
# Get function mappings which are already loaded during create_context or set_context.
|
|
488
|
+
function_mappings = _get_function_mappings()
|
|
489
|
+
|
|
490
|
+
try:
|
|
491
|
+
return function_mappings[configure.vantage_version][engine_name][function_name.lower()]
|
|
492
|
+
except KeyError as ke:
|
|
493
|
+
if str(ke) == "'{}'".format(function_name.lower()):
|
|
494
|
+
raise TeradataMlException(Messages.get_message(
|
|
495
|
+
MessageCodes.FUNCTION_NOT_SUPPORTED).format(configure.vantage_version),
|
|
496
|
+
MessageCodes.FUNCTION_NOT_SUPPORTED) from ke
|
|
497
|
+
else:
|
|
498
|
+
raise
|
|
499
|
+
except TeradataMlException:
|
|
500
|
+
raise
|
|
501
|
+
except Exception as err:
|
|
502
|
+
raise TeradataMlException(Messages.get_message(
|
|
503
|
+
MessageCodes.CONFIG_ALIAS_ANLY_FUNC_NOT_FOUND).format(function_name, config_folder),
|
|
504
|
+
MessageCodes.CONFIG_ALIAS_ANLY_FUNC_NOT_FOUND) from err
|
|
505
|
+
|
|
506
|
+
def _get_string_size(self, string):
|
|
507
|
+
return len(string.encode("utf8"))
|