teradataml 17.20.0.6__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 +238 -1
- teradataml/__init__.py +13 -3
- teradataml/_version.py +1 -1
- teradataml/analytics/Transformations.py +4 -4
- teradataml/analytics/__init__.py +0 -2
- teradataml/analytics/analytic_function_executor.py +3 -0
- teradataml/analytics/json_parser/utils.py +13 -12
- teradataml/analytics/sqle/DecisionTreePredict.py +15 -30
- teradataml/analytics/sqle/NaiveBayesPredict.py +11 -20
- teradataml/analytics/sqle/__init__.py +0 -13
- teradataml/analytics/utils.py +1 -0
- teradataml/analytics/valib.py +3 -0
- 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 +0 -2
- teradataml/catalog/byom.py +49 -6
- teradataml/catalog/function_argument_mapper.py +0 -2
- teradataml/catalog/model_cataloging_utils.py +2 -1021
- teradataml/common/aed_utils.py +6 -2
- teradataml/common/constants.py +50 -58
- teradataml/common/deprecations.py +160 -0
- teradataml/common/garbagecollector.py +61 -104
- teradataml/common/messagecodes.py +27 -36
- teradataml/common/messages.py +11 -15
- teradataml/common/utils.py +205 -287
- teradataml/common/wrapper_utils.py +1 -110
- teradataml/context/context.py +150 -78
- teradataml/data/bank_churn.csv +10001 -0
- teradataml/data/bmi.csv +501 -0
- teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +3 -3
- teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +6 -5
- teradataml/data/docs/sqle/docs_17_10/Fit.py +1 -1
- teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +1 -1
- teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +1 -1
- teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +2 -2
- teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +2 -1
- teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +1 -0
- teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +1 -1
- teradataml/data/docs/sqle/docs_17_10/Transform.py +2 -1
- teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +3 -3
- teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +6 -5
- teradataml/data/docs/sqle/docs_17_20/Fit.py +1 -1
- teradataml/data/docs/sqle/docs_17_20/GLM.py +1 -1
- teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +9 -10
- teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +3 -2
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +16 -15
- teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +2 -2
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +2 -2
- teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +8 -8
- teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +21 -20
- teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +1 -1
- teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +8 -3
- teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +6 -5
- teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +6 -6
- teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +2 -1
- teradataml/data/docs/sqle/docs_17_20/SVM.py +1 -1
- teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +16 -16
- teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +1 -0
- teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +3 -2
- teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +4 -4
- teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +19 -19
- teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +5 -4
- teradataml/data/docs/sqle/docs_17_20/Transform.py +2 -2
- teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +9 -9
- teradataml/data/fish.csv +160 -0
- teradataml/data/glass_types.csv +215 -0
- teradataml/data/insurance.csv +1 -1
- teradataml/data/iris_data.csv +151 -0
- teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +1 -0
- teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +1 -0
- teradataml/data/load_example_data.py +3 -0
- teradataml/data/multi_model_classification.csv +401 -0
- teradataml/data/multi_model_regression.csv +401 -0
- teradataml/data/openml_example.json +63 -0
- teradataml/data/scripts/deploy_script.py +65 -0
- teradataml/data/scripts/mapper.R +20 -0
- 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/templates/open_source_ml.json +9 -0
- teradataml/data/teradataml_example.json +73 -1
- teradataml/data/test_classification.csv +101 -0
- teradataml/data/test_prediction.csv +101 -0
- teradataml/data/test_regression.csv +101 -0
- 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/wine_data.csv +1600 -0
- teradataml/dataframe/copy_to.py +79 -13
- teradataml/dataframe/data_transfer.py +8 -0
- teradataml/dataframe/dataframe.py +910 -311
- teradataml/dataframe/dataframe_utils.py +102 -5
- teradataml/dataframe/fastload.py +11 -3
- teradataml/dataframe/setop.py +15 -2
- teradataml/dataframe/sql.py +3735 -77
- teradataml/dataframe/sql_function_parameters.py +56 -5
- teradataml/dataframe/vantage_function_types.py +45 -1
- teradataml/dataframe/window.py +30 -29
- teradataml/dbutils/dbutils.py +18 -1
- teradataml/geospatial/geodataframe.py +18 -7
- teradataml/geospatial/geodataframecolumn.py +5 -0
- teradataml/hyperparameter_tuner/optimizer.py +910 -120
- teradataml/hyperparameter_tuner/utils.py +131 -37
- 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 +3 -6
- teradataml/options/configure.py +21 -20
- teradataml/scriptmgmt/UserEnv.py +61 -5
- teradataml/scriptmgmt/lls_utils.py +135 -53
- teradataml/table_operators/Apply.py +38 -6
- teradataml/table_operators/Script.py +45 -308
- teradataml/table_operators/TableOperator.py +182 -591
- teradataml/table_operators/__init__.py +0 -1
- teradataml/table_operators/table_operator_util.py +32 -40
- teradataml/utils/validators.py +127 -3
- {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/METADATA +243 -3
- {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/RECORD +147 -391
- 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.6.dist-info → teradataml-20.0.0.0.dist-info}/WHEEL +0 -0
- {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/top_level.txt +0 -0
- {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/zip-safe +0 -0
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
from teradataml.dataframe.sql_interfaces import ColumnExpression
|
|
16
16
|
from collections import OrderedDict
|
|
17
17
|
from teradataml.geospatial.geometry_types import GeometryType
|
|
18
|
+
import datetime as dt
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
# Function to generate Individual parameter structure.
|
|
@@ -110,8 +111,6 @@ _percentile_param_structure = [_generate_param_structure("percentile", (int, flo
|
|
|
110
111
|
|
|
111
112
|
_expr_param_structure = [_generate_param_structure("expression", (ColumnExpression, int, float))]
|
|
112
113
|
|
|
113
|
-
_trunc_param_structure = [opt_int_expr_param("expression", 0)]
|
|
114
|
-
|
|
115
114
|
_widthbucket_param_structure = [_generate_param_structure("min", (float, int)),
|
|
116
115
|
_generate_param_structure("max", (float, int)),
|
|
117
116
|
_generate_param_structure("numBucket", (float, int))]
|
|
@@ -161,6 +160,16 @@ _regexp_replace_param_structure = [__regexp_string, req_str_expr_param("replace_
|
|
|
161
160
|
_regexp_similar_param_structure = [__regexp_string, __match]
|
|
162
161
|
_regexp_substr_param_structure = [__regexp_string, __position, __occurrence(1), __match]
|
|
163
162
|
|
|
163
|
+
_expression_calendar_param_structure = [_generate_param_structure("calendar_name", str, default_value="Teradata"),
|
|
164
|
+
_generate_param_structure("expression2", (ColumnExpression), default_value=None)]
|
|
165
|
+
|
|
166
|
+
_calendar_name_param_structure = [_generate_param_structure("calendar_name", str, default_value="Teradata")]
|
|
167
|
+
|
|
168
|
+
_day_value_param_structure = [_generate_param_structure("day_value", str)]
|
|
169
|
+
|
|
170
|
+
_expression_param_structure = [_generate_param_structure("expression", (ColumnExpression))]
|
|
171
|
+
|
|
172
|
+
_expression_int_param_structure = [_generate_param_structure("expression", (ColumnExpression,int))]
|
|
164
173
|
# Most of the Aggregate functions take first parameter as the column on which the
|
|
165
174
|
# Aggregate function is being applied. However, few functions do not accept
|
|
166
175
|
# first parameter as the corresponding column. All such functions should be
|
|
@@ -231,7 +240,6 @@ SQL_FUNCTION_ADDITIONAL_PARAMETERS = {
|
|
|
231
240
|
"MOD": _expr_param_structure,
|
|
232
241
|
"POWER": _expr_param_structure,
|
|
233
242
|
"ROUND": _expr_param_structure,
|
|
234
|
-
"TRUNC": _trunc_param_structure,
|
|
235
243
|
"WIDTH_BUCKET": _widthbucket_param_structure,
|
|
236
244
|
|
|
237
245
|
# Trigonometric function
|
|
@@ -270,7 +278,43 @@ SQL_FUNCTION_ADDITIONAL_PARAMETERS = {
|
|
|
270
278
|
"REGEXP_INSTR": _regexp_instr_param_structure,
|
|
271
279
|
"REGEXP_REPLACE": _regexp_replace_param_structure,
|
|
272
280
|
"REGEXP_SIMILAR": _regexp_similar_param_structure,
|
|
273
|
-
"REGEXP_SUBSTR": _regexp_substr_param_structure
|
|
281
|
+
"REGEXP_SUBSTR": _regexp_substr_param_structure,
|
|
282
|
+
|
|
283
|
+
# Date Time Functions
|
|
284
|
+
"td_week_begin": _expression_calendar_param_structure,
|
|
285
|
+
"td_week_end": _expression_calendar_param_structure,
|
|
286
|
+
"td_sunday": _expression_calendar_param_structure,
|
|
287
|
+
"td_monday": _expression_calendar_param_structure,
|
|
288
|
+
"td_tuesday": _expression_calendar_param_structure,
|
|
289
|
+
"td_wednesday": _expression_calendar_param_structure,
|
|
290
|
+
"td_thursday": _expression_calendar_param_structure,
|
|
291
|
+
"td_friday": _expression_calendar_param_structure,
|
|
292
|
+
"td_saturday": _expression_calendar_param_structure,
|
|
293
|
+
"DayNumber_Of_Week": _calendar_name_param_structure,
|
|
294
|
+
"td_month_begin": _expression_calendar_param_structure,
|
|
295
|
+
"td_month_end": _expression_calendar_param_structure,
|
|
296
|
+
"DayNumber_Of_Month": _calendar_name_param_structure,
|
|
297
|
+
"DayOccurrence_Of_Month": _calendar_name_param_structure,
|
|
298
|
+
"WeekNumber_Of_Month": _calendar_name_param_structure,
|
|
299
|
+
"td_year_begin": _expression_calendar_param_structure,
|
|
300
|
+
"td_year_end": _expression_calendar_param_structure,
|
|
301
|
+
"DayNumber_Of_Year": _calendar_name_param_structure,
|
|
302
|
+
"WeekNumber_Of_Year": _calendar_name_param_structure,
|
|
303
|
+
"MonthNumber_Of_Year": _calendar_name_param_structure,
|
|
304
|
+
"td_quarter_begin": _expression_calendar_param_structure,
|
|
305
|
+
"td_quarter_end": _expression_calendar_param_structure,
|
|
306
|
+
"WeekNumber_Of_Quarter": _calendar_name_param_structure,
|
|
307
|
+
"MonthNumber_Of_Quarter": _calendar_name_param_structure,
|
|
308
|
+
"QuarterNumber_Of_Year": _calendar_name_param_structure,
|
|
309
|
+
"DayNumber_Of_Calendar": _calendar_name_param_structure,
|
|
310
|
+
"WeekNumber_Of_Calendar": _calendar_name_param_structure,
|
|
311
|
+
"MonthNumber_Of_Calendar": _calendar_name_param_structure,
|
|
312
|
+
"QuarterNumber_Of_Calendar": _calendar_name_param_structure,
|
|
313
|
+
"YearNumber_Of_Calendar": _calendar_name_param_structure,
|
|
314
|
+
"next_day": _day_value_param_structure,
|
|
315
|
+
"months_between": _expression_param_structure,
|
|
316
|
+
"add_months": _expression_int_param_structure,
|
|
317
|
+
"oadd_months": _expression_int_param_structure
|
|
274
318
|
}
|
|
275
319
|
|
|
276
320
|
# When the argument for the following function is specified as str,
|
|
@@ -279,7 +323,14 @@ SQL_FUNCTION_ADDITIONAL_PARAMETERS = {
|
|
|
279
323
|
SINGLE_QUOTE_FUNCTIONS = {
|
|
280
324
|
"EDITDISTANCE", "LTRIM", "LOCATE", "RTRIM", "INDEX", "INSTR", "LEFT", "RIGHT",
|
|
281
325
|
"LOCATE", "LPAD", "RPAD", "NGRAM", "NVP", "OREPLACE", "OTRANSLATE",
|
|
282
|
-
"REGEXP_INSTR", "REGEXP_REPLACE", "REGEXP_SIMILAR", "REGEXP_SUBSTR"
|
|
326
|
+
"REGEXP_INSTR", "REGEXP_REPLACE", "REGEXP_SIMILAR", "REGEXP_SUBSTR", "td_week_begin",
|
|
327
|
+
"td_week_end", "td_sunday", "td_monday", "td_tuesday", "td_wednesday", "td_thursday",
|
|
328
|
+
"td_friday", "td_saturday", "DayNumber_Of_Week", "td_month_begin", "td_month_end", "DayNumber_Of_Month",
|
|
329
|
+
"DayOccurrence_Of_Month", "WeekNumber_Of_Month", "td_year_begin", "td_year_end",
|
|
330
|
+
"DayNumber_Of_Year", "WeekNumber_Of_Year", "MonthNumber_Of_Year", "td_quarter_begin",
|
|
331
|
+
"td_quarter_end", "WeekNumber_Of_Quarter", "MonthNumber_Of_Quarter", "QuarterNumber_Of_Year",
|
|
332
|
+
"DayNumber_Of_Calendar", "WeekNumber_Of_Calendar", "MonthNumber_Of_Calendar", "QuarterNumber_Of_Calendar",
|
|
333
|
+
"YearNumber_Of_Calendar", "next_day"
|
|
283
334
|
}
|
|
284
335
|
|
|
285
336
|
_get_param_struct = lambda x: \
|
|
@@ -286,6 +286,32 @@ VANTAGE_FUNCTION_TYPE_MAPPER = {
|
|
|
286
286
|
'POSITION': INTEGER(),
|
|
287
287
|
'SOUNDEX': VARCHAR(),
|
|
288
288
|
'STRING_CS': INTEGER(),
|
|
289
|
+
|
|
290
|
+
# DateTime Functions
|
|
291
|
+
'DAYNUMBER_OF_WEEK': INTEGER(),
|
|
292
|
+
'DAYNUMBER_OF_MONTH': INTEGER(),
|
|
293
|
+
'DAYNUMBER_OF_YEAR': INTEGER(),
|
|
294
|
+
'DAYNUMBER_OF_CALENDAR': INTEGER(),
|
|
295
|
+
'WEEKNUMBER_OF_MONTH': INTEGER(),
|
|
296
|
+
'WEEKNUMBER_OF_QUARTER': INTEGER(),
|
|
297
|
+
'WEEKNUMBER_OF_YEAR': INTEGER(),
|
|
298
|
+
'WEEKNUMBER_OF_CALENDAR': INTEGER(),
|
|
299
|
+
'MONTHNUMBER_OF_YEAR': INTEGER(),
|
|
300
|
+
'MONTHNUMBER_OF_CALENDAR': INTEGER(),
|
|
301
|
+
'MONTHNUMBER_OF_QUARTER': INTEGER(),
|
|
302
|
+
'QUARTERNUMBER_OF_YEAR': INTEGER(),
|
|
303
|
+
'QUARTERNUMBER_OF_CALENDAR': INTEGER(),
|
|
304
|
+
'YEARNUMBER_OF_CALENDAR': INTEGER(),
|
|
305
|
+
'DAYOCCURRENCE_OF_MONTH': INTEGER(),
|
|
306
|
+
'YEAR': INTEGER(),
|
|
307
|
+
'MONTH': INTEGER(),
|
|
308
|
+
'HOUR': INTEGER(),
|
|
309
|
+
'MINUTE': INTEGER(),
|
|
310
|
+
'SECOND': DECIMAL(8, 2),
|
|
311
|
+
'WEEK': INTEGER(),
|
|
312
|
+
'NEXT_DAY': DATE(),
|
|
313
|
+
'MONTHS_BETWEEN': INTEGER(),
|
|
314
|
+
'OADD_MONTHS': DATE()
|
|
289
315
|
}
|
|
290
316
|
|
|
291
317
|
# Few datattype lists useful for our lambda functions to get the output types.
|
|
@@ -404,7 +430,25 @@ VANTAGE_FUNCTION_ARGTYPE_DEPENDENT_MAPPER = {
|
|
|
404
430
|
'LAST': lambda x: x,
|
|
405
431
|
'MAD': lambda x: FLOAT() if not __check_type(x, [DECIMAL(), NUMBER()]) else x,
|
|
406
432
|
'MODE': lambda x: x,
|
|
407
|
-
'PERCENTILE': lambda x: FLOAT() if not __check_type(x, [DECIMAL(), NUMBER()]) else x
|
|
433
|
+
'PERCENTILE': lambda x: FLOAT() if not __check_type(x, [DECIMAL(), NUMBER()]) else x,
|
|
434
|
+
|
|
435
|
+
# Date Time Functions
|
|
436
|
+
'TD_SUNDAY': lambda x: x,
|
|
437
|
+
'TD_MONDAY': lambda x: x,
|
|
438
|
+
'TD_TUESDAY': lambda x: x,
|
|
439
|
+
'TD_WEDNESDAY': lambda x: x,
|
|
440
|
+
'TD_THURSDAY': lambda x: x,
|
|
441
|
+
'TD_FRIDAY': lambda x: x,
|
|
442
|
+
'TD_SATURDAY': lambda x: x,
|
|
443
|
+
'TD_WEEK_BEGIN': lambda x: x,
|
|
444
|
+
'TD_WEEK_END': lambda x: x,
|
|
445
|
+
'TD_QUARTER_BEGIN': lambda x: x,
|
|
446
|
+
'TD_QUARTER_END': lambda x: x,
|
|
447
|
+
'TD_MONTH_BEGIN': lambda x: x,
|
|
448
|
+
'TD_MONTH_END': lambda x: x,
|
|
449
|
+
'TD_YEAR_BEGIN': lambda x: x,
|
|
450
|
+
'TD_YEAR_END': lambda x: x,
|
|
451
|
+
'ADD_MONTHS': lambda x: x
|
|
408
452
|
}
|
|
409
453
|
|
|
410
454
|
# This dictionary maps the SQL Geospatial function name to the
|
teradataml/dataframe/window.py
CHANGED
|
@@ -14,7 +14,9 @@ from teradataml.common.messages import Messages
|
|
|
14
14
|
from teradataml.common.messagecodes import MessageCodes
|
|
15
15
|
from sqlalchemy import desc, nullsfirst, nullslast
|
|
16
16
|
from teradataml.common.exceptions import TeradataMlException
|
|
17
|
+
from teradataml.common.utils import UtilFuncs
|
|
17
18
|
from teradataml.utils.dtypes import _Dtypes
|
|
19
|
+
from teradatasqlalchemy.telemetry.queryband import collect_queryband
|
|
18
20
|
|
|
19
21
|
|
|
20
22
|
class Window:
|
|
@@ -54,7 +56,7 @@ class Window:
|
|
|
54
56
|
of columns.
|
|
55
57
|
Refer 'DataFrame.tdtypes' to get the types of the
|
|
56
58
|
columns of a teradataml DataFrame.
|
|
57
|
-
Types: str OR list of Strings (str)
|
|
59
|
+
Types: str OR list of Strings (str) OR ColumnExpression OR list of ColumnExpressions
|
|
58
60
|
|
|
59
61
|
order_columns:
|
|
60
62
|
Optional Argument.
|
|
@@ -66,7 +68,7 @@ class Window:
|
|
|
66
68
|
of columns.
|
|
67
69
|
Refer 'DataFrame.tdtypes' to get the types of the
|
|
68
70
|
columns of a teradataml DataFrame.
|
|
69
|
-
Types: str OR list of Strings (str)
|
|
71
|
+
Types: str OR list of Strings (str) OR ColumnExpression OR list of ColumnExpressions
|
|
70
72
|
|
|
71
73
|
sort_ascending:
|
|
72
74
|
Optional Argument.
|
|
@@ -183,8 +185,8 @@ class Window:
|
|
|
183
185
|
|
|
184
186
|
awu_matrix = []
|
|
185
187
|
awu_matrix.append(["object", object, False, (DataFrame, _SQLColumnExpression)])
|
|
186
|
-
awu_matrix.append(["partition_columns", partition_columns, True, (str, list), True])
|
|
187
|
-
awu_matrix.append(["order_columns", order_columns, True, (str, list), True])
|
|
188
|
+
awu_matrix.append(["partition_columns", partition_columns, True, (str, list, _SQLColumnExpression), True])
|
|
189
|
+
awu_matrix.append(["order_columns", order_columns, True, (str, list, _SQLColumnExpression), True])
|
|
188
190
|
awu_matrix.append(["sort_ascending", sort_ascending, True, bool])
|
|
189
191
|
awu_matrix.append(["nulls_first", nulls_first, True, (bool, type(None))])
|
|
190
192
|
awu_matrix.append(["window_start_point", window_start_point, True, int])
|
|
@@ -383,9 +385,14 @@ class Window:
|
|
|
383
385
|
|
|
384
386
|
# sqlalchemy Over clause accepts 3 parameters to frame the SQL query:
|
|
385
387
|
# partition_by, order_by & rows.
|
|
388
|
+
from teradataml.dataframe.sql import ColumnExpression
|
|
386
389
|
window_properties = {"window_function": func_name,
|
|
387
|
-
"partition_by":
|
|
388
|
-
|
|
390
|
+
"partition_by": [col if isinstance(col, str) else col.expression for col
|
|
391
|
+
in UtilFuncs._as_list(self.__partition_columns)
|
|
392
|
+
if col is not None],
|
|
393
|
+
"order_by": [col.expression if isinstance(col, ColumnExpression) else col for col
|
|
394
|
+
in UtilFuncs._as_list(self.__generate_sqlalchemy_order_by_syntax())
|
|
395
|
+
if col is not None],
|
|
389
396
|
"rows": (self.__window_start_point,
|
|
390
397
|
self.__window_end_point
|
|
391
398
|
),
|
|
@@ -440,40 +447,34 @@ class Window:
|
|
|
440
447
|
window.__validate_window_columns("Feb", "partition_columns")
|
|
441
448
|
window.__validate_window_columns("Feb", "order_columns")
|
|
442
449
|
"""
|
|
443
|
-
|
|
450
|
+
from teradataml.common.utils import UtilFuncs
|
|
451
|
+
window_columns = UtilFuncs._as_list(columns_in_window)
|
|
444
452
|
if self.__is_window_on_tdml_column:
|
|
445
|
-
_Validators._validate_columnexpression_dataframe_has_columns(
|
|
453
|
+
_Validators._validate_columnexpression_dataframe_has_columns(window_columns,
|
|
446
454
|
window_arg_name,
|
|
447
455
|
self.__object
|
|
448
456
|
)
|
|
449
457
|
else:
|
|
450
|
-
|
|
458
|
+
columns_in_expression = []
|
|
459
|
+
for col in window_columns:
|
|
460
|
+
if isinstance(col, str):
|
|
461
|
+
columns_in_expression.append(col)
|
|
462
|
+
else:
|
|
463
|
+
columns_in_expression = columns_in_expression + col._all_columns
|
|
464
|
+
_Validators._validate_dataframe_has_argument_columns(columns_in_expression,
|
|
451
465
|
window_arg_name,
|
|
452
466
|
self.__object,
|
|
453
467
|
'teradataml'
|
|
454
468
|
)
|
|
455
469
|
|
|
456
|
-
from teradataml.common.utils import UtilFuncs
|
|
457
|
-
window_columns = UtilFuncs._as_list(columns_in_window)
|
|
458
470
|
columns = UtilFuncs._get_all_columns(self.__object,
|
|
459
471
|
self.__is_window_on_tdml_column)
|
|
460
|
-
columns_and_types = {c.name.lower(): type(c.type) for c in columns}
|
|
461
|
-
invalid_types = ["{}({})".format(column, columns_and_types[column.lower()].__name__)
|
|
462
|
-
for column in window_columns if columns_and_types[column.lower()]
|
|
463
|
-
in _Dtypes._get_sort_unsupported_data_types()
|
|
464
|
-
]
|
|
465
|
-
|
|
466
|
-
if invalid_types:
|
|
467
|
-
invalid_column_types = (col_type.__name__ for col_type in
|
|
468
|
-
_Dtypes._get_sort_unsupported_data_types())
|
|
469
|
-
error_message = Messages.get_message(MessageCodes.INVALID_COLUMN_DATATYPE,
|
|
470
|
-
", ".join(invalid_types),
|
|
471
|
-
window_arg_name,
|
|
472
|
-
"Unsupported",
|
|
473
|
-
", ".join(invalid_column_types))
|
|
474
|
-
|
|
475
|
-
raise ValueError(error_message)
|
|
476
472
|
|
|
473
|
+
# Validate invalid types.
|
|
474
|
+
_Validators._validate_invalid_column_types(
|
|
475
|
+
columns, window_arg_name, window_columns, _Dtypes._get_sort_unsupported_data_types())
|
|
476
|
+
|
|
477
|
+
@collect_queryband(arg_name="func_name", prefix="DF_WinAgg")
|
|
477
478
|
def __process_dataframe_window_aggregate(self, func_name, *args, **kwargs):
|
|
478
479
|
"""
|
|
479
480
|
Description:
|
|
@@ -651,10 +652,10 @@ class Window:
|
|
|
651
652
|
return
|
|
652
653
|
|
|
653
654
|
from teradataml.common.utils import UtilFuncs
|
|
655
|
+
from teradataml.dataframe.sql import ColumnExpression
|
|
654
656
|
order_by = UtilFuncs._as_list(self.__order_columns)
|
|
655
|
-
wrap_order_by = lambda sqlalc_func: [sqlalc_func(ele) for
|
|
657
|
+
wrap_order_by = lambda sqlalc_func: [sqlalc_func(ele) if not isinstance(ele, ColumnExpression) else ele for
|
|
656
658
|
ele in order_by]
|
|
657
|
-
|
|
658
659
|
if not self.__sort_ascending:
|
|
659
660
|
order_by = wrap_order_by(desc)
|
|
660
661
|
|
teradataml/dbutils/dbutils.py
CHANGED
|
@@ -29,10 +29,12 @@ from teradataml.utils.validators import _Validators
|
|
|
29
29
|
from teradatasql import OperationalError
|
|
30
30
|
from teradatasqlalchemy.dialect import preparer, dialect as td_dialect
|
|
31
31
|
from teradatasqlalchemy.dialect import TDCreateTablePost as post
|
|
32
|
+
from teradatasqlalchemy.telemetry.queryband import collect_queryband
|
|
32
33
|
from sqlalchemy import Table, Column, MetaData, CheckConstraint, \
|
|
33
34
|
PrimaryKeyConstraint, ForeignKeyConstraint, UniqueConstraint
|
|
34
35
|
|
|
35
36
|
|
|
37
|
+
@collect_queryband(queryband='DrpTbl')
|
|
36
38
|
def db_drop_table(table_name, schema_name=None):
|
|
37
39
|
"""
|
|
38
40
|
DESCRIPTION:
|
|
@@ -88,6 +90,8 @@ def db_drop_table(table_name, schema_name=None):
|
|
|
88
90
|
table_name),
|
|
89
91
|
MessageCodes.DROP_FAILED) from err
|
|
90
92
|
|
|
93
|
+
|
|
94
|
+
@collect_queryband(queryband='DrpVw')
|
|
91
95
|
def db_drop_view(view_name, schema_name=None):
|
|
92
96
|
"""
|
|
93
97
|
DESCRIPTION:
|
|
@@ -144,6 +148,8 @@ def db_drop_view(view_name, schema_name=None):
|
|
|
144
148
|
view_name),
|
|
145
149
|
MessageCodes.DROP_FAILED) from err
|
|
146
150
|
|
|
151
|
+
|
|
152
|
+
@collect_queryband(queryband='LstTbls')
|
|
147
153
|
def db_list_tables(schema_name=None, object_name=None, object_type='all'):
|
|
148
154
|
"""
|
|
149
155
|
DESCRIPTION:
|
|
@@ -251,6 +257,7 @@ def db_list_tables(schema_name=None, object_name=None, object_type='all'):
|
|
|
251
257
|
raise TeradataMlException(Messages.get_message(MessageCodes.LIST_DB_TABLES_FAILED),
|
|
252
258
|
MessageCodes.LIST_DB_TABLES_FAILED) from err
|
|
253
259
|
|
|
260
|
+
|
|
254
261
|
def _get_select_table_kind(schema_name, table_name, table_kind):
|
|
255
262
|
"""
|
|
256
263
|
Get the list of the table names from the specified schema name.
|
|
@@ -336,6 +343,7 @@ def _get_select_table_kind(schema_name, table_name, table_kind):
|
|
|
336
343
|
except Exception as err:
|
|
337
344
|
return pd.DataFrame()
|
|
338
345
|
|
|
346
|
+
|
|
339
347
|
def _execute_transaction(queries):
|
|
340
348
|
"""
|
|
341
349
|
Internal function to execute the query or list of queries passed, as one transaction.
|
|
@@ -391,6 +399,7 @@ def _execute_transaction(queries):
|
|
|
391
399
|
# Finally, we must set auto_commit to ON
|
|
392
400
|
cur.execute(auto_commit_on)
|
|
393
401
|
|
|
402
|
+
|
|
394
403
|
def _execute_stored_procedure(function_call, fetchWarnings=True, expect_none_result=False):
|
|
395
404
|
"""
|
|
396
405
|
DESCRIPTION:
|
|
@@ -450,6 +459,7 @@ def _execute_stored_procedure(function_call, fetchWarnings=True, expect_none_res
|
|
|
450
459
|
|
|
451
460
|
return UtilFuncs._execute_query(exec_sp_stmt, fetchWarnings, expect_none_result)
|
|
452
461
|
|
|
462
|
+
|
|
453
463
|
def _get_function_call_as_string(sqlcFuncObj):
|
|
454
464
|
"""
|
|
455
465
|
DESCRIPTION:
|
|
@@ -486,6 +496,7 @@ def _get_function_call_as_string(sqlcFuncObj):
|
|
|
486
496
|
|
|
487
497
|
return str(sqlcFuncObj.compile(**kw))
|
|
488
498
|
|
|
499
|
+
|
|
489
500
|
def _get_quoted_object_name(schema_name, object_name):
|
|
490
501
|
"""
|
|
491
502
|
DESCRIPTION:
|
|
@@ -524,6 +535,8 @@ def _get_quoted_object_name(schema_name, object_name):
|
|
|
524
535
|
quoted_object_name = "{0}.{1}".format(schema_name, tdp.quote(object_name))
|
|
525
536
|
return quoted_object_name
|
|
526
537
|
|
|
538
|
+
|
|
539
|
+
@collect_queryband(queryband='VwLg')
|
|
527
540
|
def view_log(log_type="script", num_lines=1000, query_id=None, log_dir=None):
|
|
528
541
|
"""
|
|
529
542
|
DESCRIPTION:
|
|
@@ -703,7 +716,6 @@ def _fetch_url_and_save(url, file_path):
|
|
|
703
716
|
file.write(resp.content.decode('utf-8'))
|
|
704
717
|
|
|
705
718
|
|
|
706
|
-
|
|
707
719
|
def _check_if_python_packages_installed():
|
|
708
720
|
"""
|
|
709
721
|
DESCRIPTION:
|
|
@@ -739,6 +751,8 @@ def _check_if_python_packages_installed():
|
|
|
739
751
|
if "bash: pip3: command not found" not in str(err):
|
|
740
752
|
raise
|
|
741
753
|
|
|
754
|
+
|
|
755
|
+
@collect_queryband(queryband='PkgDtls')
|
|
742
756
|
def db_python_package_details(names=None):
|
|
743
757
|
"""
|
|
744
758
|
DESCRIPTION:
|
|
@@ -999,6 +1013,7 @@ def _create_table(table_name,
|
|
|
999
1013
|
raise TeradataMlException(Messages.get_message(msg_code, "create table", str(err)), msg_code)
|
|
1000
1014
|
|
|
1001
1015
|
|
|
1016
|
+
@collect_queryband(queryband='LstKwrds')
|
|
1002
1017
|
def list_td_reserved_keywords(key=None, raise_error=False):
|
|
1003
1018
|
"""
|
|
1004
1019
|
DESCRIPTION:
|
|
@@ -1127,6 +1142,8 @@ def _execute_query_and_generate_pandas_df(query, index=None, **kwargs):
|
|
|
1127
1142
|
EXAMPLES:
|
|
1128
1143
|
pdf = _execute_query_and_generate_pandas_df("SELECT * from t1", "col1")
|
|
1129
1144
|
"""
|
|
1145
|
+
# Empty queryband buffer before SQL call.
|
|
1146
|
+
UtilFuncs._set_queryband()
|
|
1130
1147
|
cur = execute_sql(query)
|
|
1131
1148
|
columns = kwargs.pop('columns', [col[0] for col in cur.description])
|
|
1132
1149
|
rows = cur.fetchall()
|
|
@@ -22,6 +22,7 @@ from teradataml.geospatial.geodataframecolumn import GeoDataFrameColumn
|
|
|
22
22
|
from teradataml.plot.plot import _Plot
|
|
23
23
|
from teradataml.utils.validators import _Validators
|
|
24
24
|
from teradatasqlalchemy import (GEOMETRY, MBR, MBB)
|
|
25
|
+
from teradatasqlalchemy.telemetry.queryband import collect_queryband
|
|
25
26
|
|
|
26
27
|
class GeoDataFrame(DataFrame):
|
|
27
28
|
"""
|
|
@@ -29,6 +30,8 @@ class GeoDataFrame(DataFrame):
|
|
|
29
30
|
analysis on tables, views, and queries on Teradata Vantage that contains
|
|
30
31
|
Geospatial data.
|
|
31
32
|
"""
|
|
33
|
+
|
|
34
|
+
@collect_queryband(queryband="GDF")
|
|
32
35
|
def __init__(self, table_name=None, index=True, index_label=None,
|
|
33
36
|
query=None, materialize=False):
|
|
34
37
|
"""
|
|
@@ -115,6 +118,7 @@ class GeoDataFrame(DataFrame):
|
|
|
115
118
|
return True
|
|
116
119
|
return False
|
|
117
120
|
|
|
121
|
+
@collect_queryband(queryband="GDF_plot")
|
|
118
122
|
def plot(self, x=None, y=None, kind="geometry", **kwargs):
|
|
119
123
|
"""
|
|
120
124
|
DESCRIPTION:
|
|
@@ -495,6 +499,14 @@ class GeoDataFrame(DataFrame):
|
|
|
495
499
|
Applicable only for the wiggle and mesh plots.
|
|
496
500
|
Types: int OR float
|
|
497
501
|
|
|
502
|
+
ignore_nulls:
|
|
503
|
+
Optional Argument.
|
|
504
|
+
Specifies whether to delete rows with null values or not present in 'x', 'y' and
|
|
505
|
+
'scale' params.
|
|
506
|
+
Default Value: False
|
|
507
|
+
Types: bool
|
|
508
|
+
|
|
509
|
+
|
|
498
510
|
RAISES:
|
|
499
511
|
TeradataMlException
|
|
500
512
|
|
|
@@ -516,6 +528,7 @@ class GeoDataFrame(DataFrame):
|
|
|
516
528
|
1010 MULTIPOINT (10.345 20.32 30.6, MULTILINESTRING ((1 3 6,3 0 6, MULTIPOLYGON (((0 0 0,0 0 20,0 None None
|
|
517
529
|
>>>
|
|
518
530
|
>>> load_example_data("geodataframe", ["us_population", "us_states_shapes"])
|
|
531
|
+
>>> us_population = DataFrame("us_population")
|
|
519
532
|
>>> us_population
|
|
520
533
|
location_type population_year population
|
|
521
534
|
state_name
|
|
@@ -613,7 +626,7 @@ class GeoDataFrame(DataFrame):
|
|
|
613
626
|
>>> plot_population = df_1990.plot(y=(df_1990.population, df_1990.state_shape),
|
|
614
627
|
... cmap='rainbow',
|
|
615
628
|
... figure=fig,
|
|
616
|
-
... ax=
|
|
629
|
+
... ax=axes[0],
|
|
617
630
|
... reverse_yaxis=True,
|
|
618
631
|
... vmin=55036.0,
|
|
619
632
|
... vmax=39538223.0,
|
|
@@ -624,7 +637,7 @@ class GeoDataFrame(DataFrame):
|
|
|
624
637
|
>>> plot_population = df_2000.plot(y=(df_2000.population, df_2000.state_shape),
|
|
625
638
|
... cmap='rainbow',
|
|
626
639
|
... figure=fig,
|
|
627
|
-
... ax=
|
|
640
|
+
... ax=axes[1],
|
|
628
641
|
... reverse_yaxis=True,
|
|
629
642
|
... vmin=55036.0,
|
|
630
643
|
... vmax=39538223.0,
|
|
@@ -636,7 +649,7 @@ class GeoDataFrame(DataFrame):
|
|
|
636
649
|
... y=(df_2010.population, df_2010.state_shape),
|
|
637
650
|
... cmap='rainbow',
|
|
638
651
|
... figure=fig,
|
|
639
|
-
... ax=
|
|
652
|
+
... ax=axes[2],
|
|
640
653
|
... reverse_yaxis=True,
|
|
641
654
|
... vmin=55036.0,
|
|
642
655
|
... vmax=39538223.0,
|
|
@@ -649,7 +662,7 @@ class GeoDataFrame(DataFrame):
|
|
|
649
662
|
... y=(df_2020.population, df_2020.state_shape),
|
|
650
663
|
... cmap='rainbow',
|
|
651
664
|
... figure=fig,
|
|
652
|
-
... ax=
|
|
665
|
+
... ax=axes[3],
|
|
653
666
|
... reverse_yaxis=True,
|
|
654
667
|
... vmin=55036.0,
|
|
655
668
|
... vmax=39538223.0,
|
|
@@ -736,6 +749,7 @@ class GeoDataFrame(DataFrame):
|
|
|
736
749
|
# TODO - Raise error or Keep it open ended to accept SQL Function names.
|
|
737
750
|
raise AttributeError("'GeoDataFrame' object has no attribute %s" % name)
|
|
738
751
|
|
|
752
|
+
@collect_queryband(arg_name="func_name", prefix="GDF")
|
|
739
753
|
def __process_geometry(self, func_name, *args, **kwargs):
|
|
740
754
|
"""
|
|
741
755
|
Function helps to execute the Geospatial function on the column(s)
|
|
@@ -1065,7 +1079,6 @@ class GeoDataFrame(DataFrame):
|
|
|
1065
1079
|
error_code = MessageCodes.NO_GEOM_COLUMN_EXIST
|
|
1066
1080
|
raise TeradataMlException(Messages.get_message(error_code), error_code)
|
|
1067
1081
|
|
|
1068
|
-
|
|
1069
1082
|
def _generate_child_metaexpr(self, metaexpr):
|
|
1070
1083
|
"""
|
|
1071
1084
|
Internal function that generates the metaexpression by converting
|
|
@@ -1090,5 +1103,3 @@ class GeoDataFrame(DataFrame):
|
|
|
1090
1103
|
if not isinstance(col, GeoDataFrameColumn) else col
|
|
1091
1104
|
for col in metaexpr.c]
|
|
1092
1105
|
return metaexpr
|
|
1093
|
-
|
|
1094
|
-
|
|
@@ -23,6 +23,7 @@ from teradataml.dataframe.vantage_function_types import \
|
|
|
23
23
|
from teradataml.geospatial.geometry_types import GeometryType
|
|
24
24
|
from teradataml.utils.validators import _Validators
|
|
25
25
|
from teradatasqlalchemy import (GEOMETRY, MBR, MBB, BLOB, CLOB)
|
|
26
|
+
from teradatasqlalchemy.telemetry.queryband import collect_queryband
|
|
26
27
|
|
|
27
28
|
# Geospatial Function name mappers
|
|
28
29
|
geo_func_as_property = \
|
|
@@ -114,6 +115,7 @@ class GeoDataFrameColumn(_SQLColumnExpression):
|
|
|
114
115
|
return lambda *args, **kwargs: \
|
|
115
116
|
self.__process_func_with_args(item, *args, **kwargs)
|
|
116
117
|
|
|
118
|
+
@collect_queryband(arg_name="func_name", prefix="GDFC")
|
|
117
119
|
def __process_geospatial_function_property(self, func_name):
|
|
118
120
|
"""
|
|
119
121
|
DESCRIPTION:
|
|
@@ -148,6 +150,7 @@ class GeoDataFrameColumn(_SQLColumnExpression):
|
|
|
148
150
|
func_name=function_name, col_name=self.name, property=True,
|
|
149
151
|
type_=out_type_)
|
|
150
152
|
|
|
153
|
+
@collect_queryband(arg_name="func_name", prefix="GDFC")
|
|
151
154
|
def __process_geospatial_method_with_no_args(self, func_name):
|
|
152
155
|
"""
|
|
153
156
|
DESCRIPTION:
|
|
@@ -178,6 +181,7 @@ class GeoDataFrameColumn(_SQLColumnExpression):
|
|
|
178
181
|
func_name=function_name, col_name=self.name, return_func=False,
|
|
179
182
|
type_=out_type_)
|
|
180
183
|
|
|
184
|
+
@collect_queryband(arg_name="func_name", prefix="GDFC")
|
|
181
185
|
def __process_func_with_args(self, func_name, *c, **kwargs):
|
|
182
186
|
"""
|
|
183
187
|
DESCRIPTION:
|
|
@@ -368,6 +372,7 @@ class GeoDataFrameColumn(_SQLColumnExpression):
|
|
|
368
372
|
"""
|
|
369
373
|
return GeoDataFrameColumn(new_expression)
|
|
370
374
|
|
|
375
|
+
@collect_queryband(queryband="GDFC_relates")
|
|
371
376
|
def relates(self, geom_column, amatrix):
|
|
372
377
|
"""
|
|
373
378
|
Please refer to Function Reference Guide for Teradata Package for Python
|