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.

Files changed (432) hide show
  1. teradataml/LICENSE-3RD-PARTY.pdf +0 -0
  2. teradataml/LICENSE.pdf +0 -0
  3. teradataml/README.md +238 -1
  4. teradataml/__init__.py +13 -3
  5. teradataml/_version.py +1 -1
  6. teradataml/analytics/Transformations.py +4 -4
  7. teradataml/analytics/__init__.py +0 -2
  8. teradataml/analytics/analytic_function_executor.py +3 -0
  9. teradataml/analytics/json_parser/utils.py +13 -12
  10. teradataml/analytics/sqle/DecisionTreePredict.py +15 -30
  11. teradataml/analytics/sqle/NaiveBayesPredict.py +11 -20
  12. teradataml/analytics/sqle/__init__.py +0 -13
  13. teradataml/analytics/utils.py +1 -0
  14. teradataml/analytics/valib.py +3 -0
  15. teradataml/automl/__init__.py +1628 -0
  16. teradataml/automl/custom_json_utils.py +1270 -0
  17. teradataml/automl/data_preparation.py +993 -0
  18. teradataml/automl/data_transformation.py +727 -0
  19. teradataml/automl/feature_engineering.py +1648 -0
  20. teradataml/automl/feature_exploration.py +547 -0
  21. teradataml/automl/model_evaluation.py +163 -0
  22. teradataml/automl/model_training.py +887 -0
  23. teradataml/catalog/__init__.py +0 -2
  24. teradataml/catalog/byom.py +49 -6
  25. teradataml/catalog/function_argument_mapper.py +0 -2
  26. teradataml/catalog/model_cataloging_utils.py +2 -1021
  27. teradataml/common/aed_utils.py +6 -2
  28. teradataml/common/constants.py +50 -58
  29. teradataml/common/deprecations.py +160 -0
  30. teradataml/common/garbagecollector.py +61 -104
  31. teradataml/common/messagecodes.py +27 -36
  32. teradataml/common/messages.py +11 -15
  33. teradataml/common/utils.py +205 -287
  34. teradataml/common/wrapper_utils.py +1 -110
  35. teradataml/context/context.py +150 -78
  36. teradataml/data/bank_churn.csv +10001 -0
  37. teradataml/data/bmi.csv +501 -0
  38. teradataml/data/docs/sqle/docs_17_10/BincodeFit.py +3 -3
  39. teradataml/data/docs/sqle/docs_17_10/BincodeTransform.py +6 -5
  40. teradataml/data/docs/sqle/docs_17_10/Fit.py +1 -1
  41. teradataml/data/docs/sqle/docs_17_10/OneHotEncodingTransform.py +1 -1
  42. teradataml/data/docs/sqle/docs_17_10/OutlierFilterTransform.py +1 -1
  43. teradataml/data/docs/sqle/docs_17_10/PolynomialFeaturesTransform.py +2 -2
  44. teradataml/data/docs/sqle/docs_17_10/RowNormalizeTransform.py +2 -1
  45. teradataml/data/docs/sqle/docs_17_10/ScaleTransform.py +1 -0
  46. teradataml/data/docs/sqle/docs_17_10/SimpleImputeTransform.py +1 -1
  47. teradataml/data/docs/sqle/docs_17_10/Transform.py +2 -1
  48. teradataml/data/docs/sqle/docs_17_20/BincodeFit.py +3 -3
  49. teradataml/data/docs/sqle/docs_17_20/BincodeTransform.py +6 -5
  50. teradataml/data/docs/sqle/docs_17_20/Fit.py +1 -1
  51. teradataml/data/docs/sqle/docs_17_20/GLM.py +1 -1
  52. teradataml/data/docs/sqle/docs_17_20/GLMPredictPerSegment.py +9 -10
  53. teradataml/data/docs/sqle/docs_17_20/KMeansPredict.py +3 -2
  54. teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierPredict.py +16 -15
  55. teradataml/data/docs/sqle/docs_17_20/NaiveBayesTextClassifierTrainer.py +2 -2
  56. teradataml/data/docs/sqle/docs_17_20/NonLinearCombineFit.py +2 -2
  57. teradataml/data/docs/sqle/docs_17_20/NonLinearCombineTransform.py +8 -8
  58. teradataml/data/docs/sqle/docs_17_20/OneClassSVMPredict.py +21 -20
  59. teradataml/data/docs/sqle/docs_17_20/OneHotEncodingTransform.py +1 -1
  60. teradataml/data/docs/sqle/docs_17_20/OutlierFilterTransform.py +8 -3
  61. teradataml/data/docs/sqle/docs_17_20/PolynomialFeaturesTransform.py +6 -5
  62. teradataml/data/docs/sqle/docs_17_20/RandomProjectionTransform.py +6 -6
  63. teradataml/data/docs/sqle/docs_17_20/RowNormalizeTransform.py +2 -1
  64. teradataml/data/docs/sqle/docs_17_20/SVM.py +1 -1
  65. teradataml/data/docs/sqle/docs_17_20/SVMPredict.py +16 -16
  66. teradataml/data/docs/sqle/docs_17_20/ScaleTransform.py +1 -0
  67. teradataml/data/docs/sqle/docs_17_20/SimpleImputeTransform.py +3 -2
  68. teradataml/data/docs/sqle/docs_17_20/TDDecisionForestPredict.py +4 -4
  69. teradataml/data/docs/sqle/docs_17_20/TDGLMPredict.py +19 -19
  70. teradataml/data/docs/sqle/docs_17_20/TargetEncodingTransform.py +5 -4
  71. teradataml/data/docs/sqle/docs_17_20/Transform.py +2 -2
  72. teradataml/data/docs/sqle/docs_17_20/XGBoostPredict.py +9 -9
  73. teradataml/data/fish.csv +160 -0
  74. teradataml/data/glass_types.csv +215 -0
  75. teradataml/data/insurance.csv +1 -1
  76. teradataml/data/iris_data.csv +151 -0
  77. teradataml/data/jsons/sqle/17.10/TD_FunctionTransform.json +1 -0
  78. teradataml/data/jsons/sqle/17.10/TD_OneHotEncodingTransform.json +1 -0
  79. teradataml/data/jsons/sqle/17.10/TD_OutlierFilterTransform.json +1 -0
  80. teradataml/data/jsons/sqle/17.10/TD_PolynomialFeaturesTransform.json +1 -0
  81. teradataml/data/jsons/sqle/17.10/TD_RowNormalizeTransform.json +1 -0
  82. teradataml/data/jsons/sqle/17.10/TD_ScaleTransform.json +1 -0
  83. teradataml/data/jsons/sqle/17.10/TD_SimpleImputeTransform.json +1 -0
  84. teradataml/data/load_example_data.py +3 -0
  85. teradataml/data/multi_model_classification.csv +401 -0
  86. teradataml/data/multi_model_regression.csv +401 -0
  87. teradataml/data/openml_example.json +63 -0
  88. teradataml/data/scripts/deploy_script.py +65 -0
  89. teradataml/data/scripts/mapper.R +20 -0
  90. teradataml/data/scripts/sklearn/__init__.py +0 -0
  91. teradataml/data/scripts/sklearn/sklearn_fit.py +175 -0
  92. teradataml/data/scripts/sklearn/sklearn_fit_predict.py +135 -0
  93. teradataml/data/scripts/sklearn/sklearn_function.template +113 -0
  94. teradataml/data/scripts/sklearn/sklearn_model_selection_split.py +158 -0
  95. teradataml/data/scripts/sklearn/sklearn_neighbors.py +152 -0
  96. teradataml/data/scripts/sklearn/sklearn_score.py +128 -0
  97. teradataml/data/scripts/sklearn/sklearn_transform.py +179 -0
  98. teradataml/data/templates/open_source_ml.json +9 -0
  99. teradataml/data/teradataml_example.json +73 -1
  100. teradataml/data/test_classification.csv +101 -0
  101. teradataml/data/test_prediction.csv +101 -0
  102. teradataml/data/test_regression.csv +101 -0
  103. teradataml/data/train_multiclass.csv +101 -0
  104. teradataml/data/train_regression.csv +101 -0
  105. teradataml/data/train_regression_multiple_labels.csv +101 -0
  106. teradataml/data/wine_data.csv +1600 -0
  107. teradataml/dataframe/copy_to.py +79 -13
  108. teradataml/dataframe/data_transfer.py +8 -0
  109. teradataml/dataframe/dataframe.py +910 -311
  110. teradataml/dataframe/dataframe_utils.py +102 -5
  111. teradataml/dataframe/fastload.py +11 -3
  112. teradataml/dataframe/setop.py +15 -2
  113. teradataml/dataframe/sql.py +3735 -77
  114. teradataml/dataframe/sql_function_parameters.py +56 -5
  115. teradataml/dataframe/vantage_function_types.py +45 -1
  116. teradataml/dataframe/window.py +30 -29
  117. teradataml/dbutils/dbutils.py +18 -1
  118. teradataml/geospatial/geodataframe.py +18 -7
  119. teradataml/geospatial/geodataframecolumn.py +5 -0
  120. teradataml/hyperparameter_tuner/optimizer.py +910 -120
  121. teradataml/hyperparameter_tuner/utils.py +131 -37
  122. teradataml/lib/aed_0_1.dll +0 -0
  123. teradataml/lib/libaed_0_1.dylib +0 -0
  124. teradataml/lib/libaed_0_1.so +0 -0
  125. teradataml/libaed_0_1.dylib +0 -0
  126. teradataml/libaed_0_1.so +0 -0
  127. teradataml/opensource/__init__.py +1 -0
  128. teradataml/opensource/sklearn/__init__.py +1 -0
  129. teradataml/opensource/sklearn/_class.py +255 -0
  130. teradataml/opensource/sklearn/_sklearn_wrapper.py +1668 -0
  131. teradataml/opensource/sklearn/_wrapper_utils.py +268 -0
  132. teradataml/opensource/sklearn/constants.py +54 -0
  133. teradataml/options/__init__.py +3 -6
  134. teradataml/options/configure.py +21 -20
  135. teradataml/scriptmgmt/UserEnv.py +61 -5
  136. teradataml/scriptmgmt/lls_utils.py +135 -53
  137. teradataml/table_operators/Apply.py +38 -6
  138. teradataml/table_operators/Script.py +45 -308
  139. teradataml/table_operators/TableOperator.py +182 -591
  140. teradataml/table_operators/__init__.py +0 -1
  141. teradataml/table_operators/table_operator_util.py +32 -40
  142. teradataml/utils/validators.py +127 -3
  143. {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/METADATA +243 -3
  144. {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/RECORD +147 -391
  145. teradataml/analytics/mle/AdaBoost.py +0 -651
  146. teradataml/analytics/mle/AdaBoostPredict.py +0 -564
  147. teradataml/analytics/mle/Antiselect.py +0 -342
  148. teradataml/analytics/mle/Arima.py +0 -641
  149. teradataml/analytics/mle/ArimaPredict.py +0 -477
  150. teradataml/analytics/mle/Attribution.py +0 -1070
  151. teradataml/analytics/mle/Betweenness.py +0 -658
  152. teradataml/analytics/mle/Burst.py +0 -711
  153. teradataml/analytics/mle/CCM.py +0 -600
  154. teradataml/analytics/mle/CCMPrepare.py +0 -324
  155. teradataml/analytics/mle/CFilter.py +0 -460
  156. teradataml/analytics/mle/ChangePointDetection.py +0 -572
  157. teradataml/analytics/mle/ChangePointDetectionRT.py +0 -477
  158. teradataml/analytics/mle/Closeness.py +0 -737
  159. teradataml/analytics/mle/ConfusionMatrix.py +0 -420
  160. teradataml/analytics/mle/Correlation.py +0 -477
  161. teradataml/analytics/mle/Correlation2.py +0 -573
  162. teradataml/analytics/mle/CoxHazardRatio.py +0 -679
  163. teradataml/analytics/mle/CoxPH.py +0 -556
  164. teradataml/analytics/mle/CoxSurvival.py +0 -478
  165. teradataml/analytics/mle/CumulativeMovAvg.py +0 -363
  166. teradataml/analytics/mle/DTW.py +0 -623
  167. teradataml/analytics/mle/DWT.py +0 -564
  168. teradataml/analytics/mle/DWT2D.py +0 -599
  169. teradataml/analytics/mle/DecisionForest.py +0 -716
  170. teradataml/analytics/mle/DecisionForestEvaluator.py +0 -363
  171. teradataml/analytics/mle/DecisionForestPredict.py +0 -561
  172. teradataml/analytics/mle/DecisionTree.py +0 -830
  173. teradataml/analytics/mle/DecisionTreePredict.py +0 -528
  174. teradataml/analytics/mle/ExponentialMovAvg.py +0 -418
  175. teradataml/analytics/mle/FMeasure.py +0 -402
  176. teradataml/analytics/mle/FPGrowth.py +0 -734
  177. teradataml/analytics/mle/FrequentPaths.py +0 -695
  178. teradataml/analytics/mle/GLM.py +0 -558
  179. teradataml/analytics/mle/GLML1L2.py +0 -547
  180. teradataml/analytics/mle/GLML1L2Predict.py +0 -519
  181. teradataml/analytics/mle/GLMPredict.py +0 -529
  182. teradataml/analytics/mle/HMMDecoder.py +0 -945
  183. teradataml/analytics/mle/HMMEvaluator.py +0 -901
  184. teradataml/analytics/mle/HMMSupervised.py +0 -521
  185. teradataml/analytics/mle/HMMUnsupervised.py +0 -572
  186. teradataml/analytics/mle/Histogram.py +0 -561
  187. teradataml/analytics/mle/IDWT.py +0 -476
  188. teradataml/analytics/mle/IDWT2D.py +0 -493
  189. teradataml/analytics/mle/IdentityMatch.py +0 -763
  190. teradataml/analytics/mle/Interpolator.py +0 -918
  191. teradataml/analytics/mle/KMeans.py +0 -485
  192. teradataml/analytics/mle/KNN.py +0 -627
  193. teradataml/analytics/mle/KNNRecommender.py +0 -488
  194. teradataml/analytics/mle/KNNRecommenderPredict.py +0 -581
  195. teradataml/analytics/mle/LAR.py +0 -439
  196. teradataml/analytics/mle/LARPredict.py +0 -478
  197. teradataml/analytics/mle/LDA.py +0 -548
  198. teradataml/analytics/mle/LDAInference.py +0 -492
  199. teradataml/analytics/mle/LDATopicSummary.py +0 -464
  200. teradataml/analytics/mle/LevenshteinDistance.py +0 -450
  201. teradataml/analytics/mle/LinReg.py +0 -433
  202. teradataml/analytics/mle/LinRegPredict.py +0 -438
  203. teradataml/analytics/mle/MinHash.py +0 -544
  204. teradataml/analytics/mle/Modularity.py +0 -587
  205. teradataml/analytics/mle/NEREvaluator.py +0 -410
  206. teradataml/analytics/mle/NERExtractor.py +0 -595
  207. teradataml/analytics/mle/NERTrainer.py +0 -458
  208. teradataml/analytics/mle/NGrams.py +0 -570
  209. teradataml/analytics/mle/NPath.py +0 -634
  210. teradataml/analytics/mle/NTree.py +0 -549
  211. teradataml/analytics/mle/NaiveBayes.py +0 -462
  212. teradataml/analytics/mle/NaiveBayesPredict.py +0 -513
  213. teradataml/analytics/mle/NaiveBayesTextClassifier.py +0 -607
  214. teradataml/analytics/mle/NaiveBayesTextClassifier2.py +0 -531
  215. teradataml/analytics/mle/NaiveBayesTextClassifierPredict.py +0 -799
  216. teradataml/analytics/mle/NamedEntityFinder.py +0 -529
  217. teradataml/analytics/mle/NamedEntityFinderEvaluator.py +0 -414
  218. teradataml/analytics/mle/NamedEntityFinderTrainer.py +0 -396
  219. teradataml/analytics/mle/POSTagger.py +0 -417
  220. teradataml/analytics/mle/Pack.py +0 -411
  221. teradataml/analytics/mle/PageRank.py +0 -535
  222. teradataml/analytics/mle/PathAnalyzer.py +0 -426
  223. teradataml/analytics/mle/PathGenerator.py +0 -367
  224. teradataml/analytics/mle/PathStart.py +0 -464
  225. teradataml/analytics/mle/PathSummarizer.py +0 -470
  226. teradataml/analytics/mle/Pivot.py +0 -471
  227. teradataml/analytics/mle/ROC.py +0 -425
  228. teradataml/analytics/mle/RandomSample.py +0 -637
  229. teradataml/analytics/mle/RandomWalkSample.py +0 -490
  230. teradataml/analytics/mle/SAX.py +0 -779
  231. teradataml/analytics/mle/SVMDense.py +0 -677
  232. teradataml/analytics/mle/SVMDensePredict.py +0 -536
  233. teradataml/analytics/mle/SVMDenseSummary.py +0 -437
  234. teradataml/analytics/mle/SVMSparse.py +0 -557
  235. teradataml/analytics/mle/SVMSparsePredict.py +0 -553
  236. teradataml/analytics/mle/SVMSparseSummary.py +0 -435
  237. teradataml/analytics/mle/Sampling.py +0 -549
  238. teradataml/analytics/mle/Scale.py +0 -565
  239. teradataml/analytics/mle/ScaleByPartition.py +0 -496
  240. teradataml/analytics/mle/ScaleMap.py +0 -378
  241. teradataml/analytics/mle/ScaleSummary.py +0 -320
  242. teradataml/analytics/mle/SentenceExtractor.py +0 -363
  243. teradataml/analytics/mle/SentimentEvaluator.py +0 -432
  244. teradataml/analytics/mle/SentimentExtractor.py +0 -578
  245. teradataml/analytics/mle/SentimentTrainer.py +0 -405
  246. teradataml/analytics/mle/SeriesSplitter.py +0 -641
  247. teradataml/analytics/mle/Sessionize.py +0 -475
  248. teradataml/analytics/mle/SimpleMovAvg.py +0 -397
  249. teradataml/analytics/mle/StringSimilarity.py +0 -425
  250. teradataml/analytics/mle/TF.py +0 -389
  251. teradataml/analytics/mle/TFIDF.py +0 -504
  252. teradataml/analytics/mle/TextChunker.py +0 -414
  253. teradataml/analytics/mle/TextClassifier.py +0 -399
  254. teradataml/analytics/mle/TextClassifierEvaluator.py +0 -413
  255. teradataml/analytics/mle/TextClassifierTrainer.py +0 -565
  256. teradataml/analytics/mle/TextMorph.py +0 -494
  257. teradataml/analytics/mle/TextParser.py +0 -623
  258. teradataml/analytics/mle/TextTagger.py +0 -530
  259. teradataml/analytics/mle/TextTokenizer.py +0 -502
  260. teradataml/analytics/mle/UnivariateStatistics.py +0 -488
  261. teradataml/analytics/mle/Unpack.py +0 -526
  262. teradataml/analytics/mle/Unpivot.py +0 -438
  263. teradataml/analytics/mle/VarMax.py +0 -776
  264. teradataml/analytics/mle/VectorDistance.py +0 -762
  265. teradataml/analytics/mle/WeightedMovAvg.py +0 -400
  266. teradataml/analytics/mle/XGBoost.py +0 -842
  267. teradataml/analytics/mle/XGBoostPredict.py +0 -627
  268. teradataml/analytics/mle/__init__.py +0 -123
  269. teradataml/analytics/mle/json/adaboost_mle.json +0 -135
  270. teradataml/analytics/mle/json/adaboostpredict_mle.json +0 -85
  271. teradataml/analytics/mle/json/antiselect_mle.json +0 -34
  272. teradataml/analytics/mle/json/antiselect_mle_mle.json +0 -34
  273. teradataml/analytics/mle/json/arima_mle.json +0 -172
  274. teradataml/analytics/mle/json/arimapredict_mle.json +0 -52
  275. teradataml/analytics/mle/json/attribution_mle_mle.json +0 -143
  276. teradataml/analytics/mle/json/betweenness_mle.json +0 -97
  277. teradataml/analytics/mle/json/burst_mle.json +0 -140
  278. teradataml/analytics/mle/json/ccm_mle.json +0 -124
  279. teradataml/analytics/mle/json/ccmprepare_mle.json +0 -14
  280. teradataml/analytics/mle/json/cfilter_mle.json +0 -93
  281. teradataml/analytics/mle/json/changepointdetection_mle.json +0 -92
  282. teradataml/analytics/mle/json/changepointdetectionrt_mle.json +0 -78
  283. teradataml/analytics/mle/json/closeness_mle.json +0 -104
  284. teradataml/analytics/mle/json/confusionmatrix_mle.json +0 -79
  285. teradataml/analytics/mle/json/correlation_mle.json +0 -86
  286. teradataml/analytics/mle/json/correlationreduce_mle.json +0 -49
  287. teradataml/analytics/mle/json/coxhazardratio_mle.json +0 -89
  288. teradataml/analytics/mle/json/coxph_mle.json +0 -98
  289. teradataml/analytics/mle/json/coxsurvival_mle.json +0 -79
  290. teradataml/analytics/mle/json/cumulativemovavg_mle.json +0 -34
  291. teradataml/analytics/mle/json/decisionforest_mle.json +0 -167
  292. teradataml/analytics/mle/json/decisionforestevaluator_mle.json +0 -33
  293. teradataml/analytics/mle/json/decisionforestpredict_mle_mle.json +0 -74
  294. teradataml/analytics/mle/json/decisiontree_mle.json +0 -194
  295. teradataml/analytics/mle/json/decisiontreepredict_mle_mle.json +0 -86
  296. teradataml/analytics/mle/json/dtw_mle.json +0 -97
  297. teradataml/analytics/mle/json/dwt2d_mle.json +0 -116
  298. teradataml/analytics/mle/json/dwt_mle.json +0 -101
  299. teradataml/analytics/mle/json/exponentialmovavg_mle.json +0 -55
  300. teradataml/analytics/mle/json/fmeasure_mle.json +0 -58
  301. teradataml/analytics/mle/json/fpgrowth_mle.json +0 -159
  302. teradataml/analytics/mle/json/frequentpaths_mle.json +0 -129
  303. teradataml/analytics/mle/json/glm_mle.json +0 -111
  304. teradataml/analytics/mle/json/glml1l2_mle.json +0 -106
  305. teradataml/analytics/mle/json/glml1l2predict_mle.json +0 -57
  306. teradataml/analytics/mle/json/glmpredict_mle_mle.json +0 -74
  307. teradataml/analytics/mle/json/histogram_mle.json +0 -100
  308. teradataml/analytics/mle/json/hmmdecoder_mle.json +0 -192
  309. teradataml/analytics/mle/json/hmmevaluator_mle.json +0 -206
  310. teradataml/analytics/mle/json/hmmsupervised_mle.json +0 -91
  311. teradataml/analytics/mle/json/hmmunsupervised_mle.json +0 -114
  312. teradataml/analytics/mle/json/identitymatch_mle.json +0 -88
  313. teradataml/analytics/mle/json/idwt2d_mle.json +0 -73
  314. teradataml/analytics/mle/json/idwt_mle.json +0 -66
  315. teradataml/analytics/mle/json/interpolator_mle.json +0 -151
  316. teradataml/analytics/mle/json/kmeans_mle.json +0 -97
  317. teradataml/analytics/mle/json/knn_mle.json +0 -141
  318. teradataml/analytics/mle/json/knnrecommender_mle.json +0 -111
  319. teradataml/analytics/mle/json/knnrecommenderpredict_mle.json +0 -75
  320. teradataml/analytics/mle/json/lar_mle.json +0 -78
  321. teradataml/analytics/mle/json/larpredict_mle.json +0 -69
  322. teradataml/analytics/mle/json/lda_mle.json +0 -130
  323. teradataml/analytics/mle/json/ldainference_mle.json +0 -78
  324. teradataml/analytics/mle/json/ldatopicsummary_mle.json +0 -64
  325. teradataml/analytics/mle/json/levenshteindistance_mle.json +0 -92
  326. teradataml/analytics/mle/json/linreg_mle.json +0 -42
  327. teradataml/analytics/mle/json/linregpredict_mle.json +0 -56
  328. teradataml/analytics/mle/json/minhash_mle.json +0 -113
  329. teradataml/analytics/mle/json/modularity_mle.json +0 -91
  330. teradataml/analytics/mle/json/naivebayespredict_mle_mle.json +0 -85
  331. teradataml/analytics/mle/json/naivebayesreduce_mle.json +0 -52
  332. teradataml/analytics/mle/json/naivebayestextclassifierpredict_mle_mle.json +0 -147
  333. teradataml/analytics/mle/json/naivebayestextclassifiertrainer2_mle.json +0 -108
  334. teradataml/analytics/mle/json/naivebayestextclassifiertrainer_mle.json +0 -102
  335. teradataml/analytics/mle/json/namedentityfinder_mle.json +0 -84
  336. teradataml/analytics/mle/json/namedentityfinderevaluatorreduce_mle.json +0 -43
  337. teradataml/analytics/mle/json/namedentityfindertrainer_mle.json +0 -64
  338. teradataml/analytics/mle/json/nerevaluator_mle.json +0 -54
  339. teradataml/analytics/mle/json/nerextractor_mle.json +0 -87
  340. teradataml/analytics/mle/json/nertrainer_mle.json +0 -89
  341. teradataml/analytics/mle/json/ngrams_mle.json +0 -137
  342. teradataml/analytics/mle/json/ngramsplitter_mle_mle.json +0 -137
  343. teradataml/analytics/mle/json/npath@coprocessor_mle.json +0 -73
  344. teradataml/analytics/mle/json/ntree@coprocessor_mle.json +0 -123
  345. teradataml/analytics/mle/json/pack_mle.json +0 -58
  346. teradataml/analytics/mle/json/pack_mle_mle.json +0 -58
  347. teradataml/analytics/mle/json/pagerank_mle.json +0 -81
  348. teradataml/analytics/mle/json/pathanalyzer_mle.json +0 -63
  349. teradataml/analytics/mle/json/pathgenerator_mle.json +0 -40
  350. teradataml/analytics/mle/json/pathstart_mle.json +0 -62
  351. teradataml/analytics/mle/json/pathsummarizer_mle.json +0 -72
  352. teradataml/analytics/mle/json/pivoting_mle.json +0 -71
  353. teradataml/analytics/mle/json/postagger_mle.json +0 -51
  354. teradataml/analytics/mle/json/randomsample_mle.json +0 -131
  355. teradataml/analytics/mle/json/randomwalksample_mle.json +0 -85
  356. teradataml/analytics/mle/json/roc_mle.json +0 -73
  357. teradataml/analytics/mle/json/sampling_mle.json +0 -75
  358. teradataml/analytics/mle/json/sax_mle.json +0 -154
  359. teradataml/analytics/mle/json/scale_mle.json +0 -93
  360. teradataml/analytics/mle/json/scalebypartition_mle.json +0 -89
  361. teradataml/analytics/mle/json/scalemap_mle.json +0 -44
  362. teradataml/analytics/mle/json/scalesummary_mle.json +0 -14
  363. teradataml/analytics/mle/json/sentenceextractor_mle.json +0 -41
  364. teradataml/analytics/mle/json/sentimentevaluator_mle.json +0 -43
  365. teradataml/analytics/mle/json/sentimentextractor_mle.json +0 -100
  366. teradataml/analytics/mle/json/sentimenttrainer_mle.json +0 -68
  367. teradataml/analytics/mle/json/seriessplitter_mle.json +0 -133
  368. teradataml/analytics/mle/json/sessionize_mle_mle.json +0 -62
  369. teradataml/analytics/mle/json/simplemovavg_mle.json +0 -48
  370. teradataml/analytics/mle/json/stringsimilarity_mle.json +0 -50
  371. teradataml/analytics/mle/json/stringsimilarity_mle_mle.json +0 -50
  372. teradataml/analytics/mle/json/svmdense_mle.json +0 -165
  373. teradataml/analytics/mle/json/svmdensepredict_mle.json +0 -95
  374. teradataml/analytics/mle/json/svmdensesummary_mle.json +0 -58
  375. teradataml/analytics/mle/json/svmsparse_mle.json +0 -148
  376. teradataml/analytics/mle/json/svmsparsepredict_mle_mle.json +0 -103
  377. teradataml/analytics/mle/json/svmsparsesummary_mle.json +0 -57
  378. teradataml/analytics/mle/json/textchunker_mle.json +0 -40
  379. teradataml/analytics/mle/json/textclassifier_mle.json +0 -51
  380. teradataml/analytics/mle/json/textclassifierevaluator_mle.json +0 -43
  381. teradataml/analytics/mle/json/textclassifiertrainer_mle.json +0 -103
  382. teradataml/analytics/mle/json/textmorph_mle.json +0 -63
  383. teradataml/analytics/mle/json/textparser_mle.json +0 -166
  384. teradataml/analytics/mle/json/texttagger_mle.json +0 -81
  385. teradataml/analytics/mle/json/texttokenizer_mle.json +0 -91
  386. teradataml/analytics/mle/json/tf_mle.json +0 -33
  387. teradataml/analytics/mle/json/tfidf_mle.json +0 -34
  388. teradataml/analytics/mle/json/univariatestatistics_mle.json +0 -81
  389. teradataml/analytics/mle/json/unpack_mle.json +0 -91
  390. teradataml/analytics/mle/json/unpack_mle_mle.json +0 -91
  391. teradataml/analytics/mle/json/unpivoting_mle.json +0 -63
  392. teradataml/analytics/mle/json/varmax_mle.json +0 -176
  393. teradataml/analytics/mle/json/vectordistance_mle.json +0 -179
  394. teradataml/analytics/mle/json/weightedmovavg_mle.json +0 -48
  395. teradataml/analytics/mle/json/xgboost_mle.json +0 -178
  396. teradataml/analytics/mle/json/xgboostpredict_mle.json +0 -104
  397. teradataml/analytics/sqle/Antiselect.py +0 -321
  398. teradataml/analytics/sqle/Attribution.py +0 -603
  399. teradataml/analytics/sqle/DecisionForestPredict.py +0 -408
  400. teradataml/analytics/sqle/GLMPredict.py +0 -430
  401. teradataml/analytics/sqle/MovingAverage.py +0 -543
  402. teradataml/analytics/sqle/NGramSplitter.py +0 -548
  403. teradataml/analytics/sqle/NPath.py +0 -632
  404. teradataml/analytics/sqle/NaiveBayesTextClassifierPredict.py +0 -515
  405. teradataml/analytics/sqle/Pack.py +0 -388
  406. teradataml/analytics/sqle/SVMSparsePredict.py +0 -464
  407. teradataml/analytics/sqle/Sessionize.py +0 -390
  408. teradataml/analytics/sqle/StringSimilarity.py +0 -400
  409. teradataml/analytics/sqle/Unpack.py +0 -503
  410. teradataml/analytics/sqle/json/antiselect_sqle.json +0 -21
  411. teradataml/analytics/sqle/json/attribution_sqle.json +0 -92
  412. teradataml/analytics/sqle/json/decisionforestpredict_sqle.json +0 -48
  413. teradataml/analytics/sqle/json/glmpredict_sqle.json +0 -48
  414. teradataml/analytics/sqle/json/h2opredict_sqle.json +0 -63
  415. teradataml/analytics/sqle/json/movingaverage_sqle.json +0 -58
  416. teradataml/analytics/sqle/json/naivebayestextclassifierpredict_sqle.json +0 -76
  417. teradataml/analytics/sqle/json/ngramsplitter_sqle.json +0 -126
  418. teradataml/analytics/sqle/json/npath_sqle.json +0 -67
  419. teradataml/analytics/sqle/json/pack_sqle.json +0 -47
  420. teradataml/analytics/sqle/json/pmmlpredict_sqle.json +0 -55
  421. teradataml/analytics/sqle/json/sessionize_sqle.json +0 -43
  422. teradataml/analytics/sqle/json/stringsimilarity_sqle.json +0 -39
  423. teradataml/analytics/sqle/json/svmsparsepredict_sqle.json +0 -74
  424. teradataml/analytics/sqle/json/unpack_sqle.json +0 -80
  425. teradataml/catalog/model_cataloging.py +0 -980
  426. teradataml/config/mlengine_alias_definitions_v1.0 +0 -118
  427. teradataml/config/mlengine_alias_definitions_v1.1 +0 -127
  428. teradataml/config/mlengine_alias_definitions_v1.3 +0 -129
  429. teradataml/table_operators/sandbox_container_util.py +0 -643
  430. {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/WHEEL +0 -0
  431. {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/top_level.txt +0 -0
  432. {teradataml-17.20.0.6.dist-info → teradataml-20.0.0.0.dist-info}/zip-safe +0 -0
@@ -22,6 +22,8 @@ import sqlalchemy
22
22
  from pathlib import Path
23
23
  from numpy import number
24
24
  from sqlalchemy import Column, MetaData, Table
25
+ from teradataml.context.context import get_connection
26
+
25
27
  from teradataml import _version
26
28
  from teradataml.context import context as tdmlctx
27
29
  from teradataml.common.exceptions import TeradataMlException
@@ -37,7 +39,7 @@ from teradataml.common.constants import TeradataConstants, PTITableConstants, \
37
39
  from teradataml.common.warnings import VantageRuntimeWarning
38
40
  from teradataml.options.configure import configure
39
41
  from teradataml.options.display import display
40
- from teradataml.common.constants import TeradataReservedKeywords
42
+ from teradataml.common.constants import TeradataReservedKeywords, TeradataConstants
41
43
 
42
44
  from teradatasqlalchemy.types import _TDType
43
45
  from teradatasqlalchemy.types import (INTEGER, SMALLINT, BIGINT, BYTEINT,
@@ -45,162 +47,13 @@ from teradatasqlalchemy.types import (INTEGER, SMALLINT, BIGINT, BYTEINT,
45
47
  from teradatasqlalchemy.types import (DATE, TIME, TIMESTAMP)
46
48
  from teradatasqlalchemy.types import (BYTE, VARBYTE, BLOB)
47
49
  from teradatasqlalchemy.types import (CHAR, VARCHAR, CLOB)
48
- from functools import wraps, reduce
50
+ from functools import reduce
49
51
  import warnings
52
+ from teradatasqlalchemy.telemetry.queryband import set_queryband, collect_queryband, get_qb_query
50
53
  from teradataml.utils.utils import execute_sql
51
54
  from teradataml.utils.validators import _Validators
52
55
  from sqlalchemy.exc import OperationalError as sqlachemyOperationalError
53
56
 
54
- def package_deprecation(version, replacement=None, type="class"):
55
- """
56
- Define a deprecation decorator.
57
-
58
- PARAMETERS:
59
- replacement:
60
- Optional Argument.
61
- `replacement` should refer to the new API to be used instead.
62
-
63
- type:
64
- Optional Argument.
65
- Specifies the type of entity being deprecated.
66
- For example,
67
- class or function
68
-
69
- EXAMPLES:
70
- @package_deprecation('16.20.x.y')
71
- def old_func(): ...
72
- @package_deprecation('16.20.x.y', 'teradataml.analytics.mle')
73
- def old_func(): ..."""
74
-
75
- def decorator(func):
76
- def wrapper(*args, **kwargs):
77
- msg = "\nThe \"{}\" {} has moved to a new package in version {}."
78
- if replacement:
79
- msg += "\nImport from the teradataml package, or directly from the {} module." + \
80
- "\nSee the teradataml {} User Guide for more information."
81
- warnings.warn(msg.format('.'.join([func.__module__, func.__name__]), type, version,
82
- replacement + '.' + func.__name__, version),
83
- category=DeprecationWarning, stacklevel=2)
84
- return func(*args, **kwargs)
85
-
86
- return wraps(func)(wrapper)
87
-
88
- return decorator
89
-
90
- def argument_deprecation(tdml_version, deprecated_arguments, behaviour=False, alternatives=None):
91
- """
92
- Decorator for deprecating of argument(s) for a function or class constructor.
93
-
94
- PARAMETERS:
95
- tdml_version:
96
- Required Argument.
97
- Specifies the teradataml version when the argument will be deprecated.
98
- Types: str
99
-
100
- deprecated_arguments:
101
- Required Argument.
102
- Specifies the name(s) of the argument(s) to be deprecated.
103
- Types: str OR list of Strings (str)
104
-
105
- behaviour:
106
- Optional Argument.
107
- Specifies whether behaviour of the argument is deprecated.
108
- Types: bool
109
-
110
- alternatives:
111
- Optional Argument.
112
- Specifies the name(s) of the argument(s) that are alternative
113
- to the deprecate arguments.
114
- Types: str OR list of Strings (str)
115
-
116
-
117
- EXAMPLES:
118
- # Example 1: Deprecate behavior of arguments "arg1" and "arg2".
119
- @argument_deprecation("17.20.00.02", ["arg1", "arg2"], True)
120
- def old_func(self): ...
121
-
122
- # Example 2: Deprecate argument completely.
123
- @argument_deprecation("17.20.00.02", "old_arg")
124
- def old_func(self): ...
125
-
126
- # Example 3: Deprecate arguments completely with alternative.
127
- @argument_deprecation("17.20.00.02", ["arg1", "arg2"], False, ["new_arg"])
128
- def old_func(self): ...
129
-
130
- # Example 4: Deprecate behavior of arguments "old_arg1" and "old_arg2" and provide alternatives.
131
- @argument_deprecation("17.20.00.02", ["arg1", "arg2"], True, ["alt_arg1", "alt_arg2"])
132
- def old_func(self): ...
133
-
134
- """
135
- def decorator(func):
136
- def wrapper(*args, **kwargs):
137
- msg = "\nThe argument(s) \"{}\" will be deprecated in {}."
138
- if behaviour:
139
- msg = "\nBehaviour of the argument(s) \"{}\" will change in {}."
140
- msg = msg.format(deprecated_arguments, tdml_version)
141
- if alternatives is not None:
142
- msg += "\nUse argument(s) \"{}\" instead.".format(alternatives)
143
- warnings.warn(msg, category=DeprecationWarning, stacklevel=2)
144
- return func(*args, **kwargs)
145
-
146
- return wraps(func)(wrapper)
147
- return decorator
148
-
149
- def function_deprecation(tdml_version, behaviour=False, alternatives=None):
150
- """
151
- Decorator for deprecating a function.
152
-
153
- PARAMETERS:
154
- tdml_version:
155
- Required Argument.
156
- Specifies the teradataml version when the function will be deprecated.
157
- Types: str
158
-
159
- behaviour:
160
- Optional Argument.
161
- Specifies whether behaviour of the function is deprecated.
162
- Default value: False
163
- Types: bool
164
-
165
-
166
- alternatives:
167
- Optional Argument.
168
- Specifies the name of the function that is alternative
169
- to the deprecate function.
170
- Default value: None
171
- Types: str
172
-
173
-
174
- EXAMPLES:
175
- # Example 1: Deprecate behavior of function "old_func".
176
- @function_deprecation("17.20.00.03", True)
177
- def old_func(self): ...
178
-
179
- # Example 2: Deprecate function "old_func" completely.
180
- @function_deprecation("17.20.00.03")
181
- def old_func(self): ...
182
-
183
- # Example 3: Deprecate function "old_func" completely with alternative function "new_func".
184
- @function_deprecation("17.20.00.03", False, "new_func")
185
- def old_func(self): ...
186
-
187
- # Example 4: Deprecate behavior of function "old_func".
188
- @function_deprecation("17.20.00.03", True)
189
- def old_func(self): ...
190
- """
191
- def decorator(func):
192
- def wrapper(*args, **kwargs):
193
- msg = "\nThe function \"{}\" will be deprecated in {}."
194
- if behaviour:
195
- msg = "\nBehaviour of the function \"{}\" will change in {}."
196
- msg = msg.format(func.__name__, tdml_version)
197
- if alternatives is not None:
198
- msg += "\nInstead, Use following function \"{}\".".format(alternatives)
199
- warnings.warn(msg, category=DeprecationWarning, stacklevel=2)
200
- return func(*args, **kwargs)
201
- return wraps(func)(wrapper)
202
- return decorator
203
-
204
57
 
205
58
  class UtilFuncs():
206
59
  def _get_numeric_datatypes(self):
@@ -467,7 +320,8 @@ class UtilFuncs():
467
320
  @staticmethod
468
321
  def _generate_temp_script_name(database_name=None, prefix=None, use_default_database=True,
469
322
  gc_on_quit=True, quote=True,
470
- script_type=TeradataConstants.TERADATA_SCRIPT):
323
+ script_type=TeradataConstants.TERADATA_SCRIPT,
324
+ extension=None):
471
325
  """
472
326
  DESCRIPTION:
473
327
  Function to return the random string for temporary script names.
@@ -512,6 +366,12 @@ class UtilFuncs():
512
366
  Default value: TeradataConstants.TERADATA_SCRIPT
513
367
  Types: TeradataConstant
514
368
 
369
+ extension:
370
+ Optional Argument.
371
+ Specifies the extension of the script.
372
+ Default value: None
373
+ Types: str
374
+
515
375
  RETURNS:
516
376
  Temporary script name.
517
377
 
@@ -540,6 +400,9 @@ class UtilFuncs():
540
400
 
541
401
  script_name = "{}_{}".format(script_name, random_string)
542
402
 
403
+ if extension is not None:
404
+ script_name = "{}.{}".format(script_name, extension)
405
+
543
406
  dbname_to_use = tdmlctx._get_current_databasename()
544
407
  if not use_default_database and database_name is not None:
545
408
  dbname_to_use = database_name
@@ -634,6 +497,8 @@ class UtilFuncs():
634
497
  UtilFuncs._execute_ddl_statement('create table mytab (col1 int, col2 varchar(20))')
635
498
 
636
499
  """
500
+ # Empty queryband buffer before SQL call.
501
+ UtilFuncs._set_queryband()
637
502
  # Let's execute our DDL statement with escape function '{fn teradata_fake_result_sets}'
638
503
  # offered by teradatasql driver. This function will allow us catch any warnings thrown
639
504
  # from the Vantage. Hence, executing the DDL statement with this escape function.
@@ -719,6 +584,8 @@ class UtilFuncs():
719
584
  UtilFuncs._execute_query("call SYSUIF.list_base_environments()", False, True)
720
585
 
721
586
  """
587
+ # Empty queryband buffer before SQL call.
588
+ UtilFuncs._set_queryband()
722
589
 
723
590
  if fetchWarnings:
724
591
  # Let's execute our DDL statement with escape function '{fn teradata_fake_result_sets}'
@@ -772,6 +639,7 @@ class UtilFuncs():
772
639
  MessageCodes.CONNECTION_FAILURE)
773
640
 
774
641
  @staticmethod
642
+ @collect_queryband(queryband='CreateView')
775
643
  def _create_view(view_name, query):
776
644
  """
777
645
  Create a view from the given query.
@@ -796,6 +664,7 @@ class UtilFuncs():
796
664
  raise
797
665
 
798
666
  @staticmethod
667
+ @collect_queryband(queryband='CreateTbl')
799
668
  def _create_table(table_name, query, volatile=False):
800
669
  """
801
670
  Create a table from the given query.
@@ -846,6 +715,7 @@ class UtilFuncs():
846
715
  return [str(i) for i in result[0]]
847
716
 
848
717
  @staticmethod
718
+ @collect_queryband(queryband='CreateVolaTbl')
849
719
  def _get_volatile_table(query, with_data=False):
850
720
  """
851
721
  Creates a volatile table as query.
@@ -944,7 +814,8 @@ class UtilFuncs():
944
814
  return False
945
815
 
946
816
  @staticmethod
947
- def _delete_script(script_name, check_script_exist=True):
817
+ def _delete_script(script_name, file_type=TeradataConstants.TERADATA_SCRIPT,
818
+ check_script_exist=True):
948
819
  """
949
820
  DESCRIPTION:
950
821
  Function to remove a user-installed file/script.
@@ -955,8 +826,18 @@ class UtilFuncs():
955
826
  Specifies the name of the script to remove.
956
827
  Types: str
957
828
 
829
+ file_type:
830
+ Optional Argument.
831
+ Specifies the type of the file to remove, whether it is from
832
+ Enterpise (TeradataConstants.TERADATA_SCRIPT) or from Lake
833
+ (TeradataConstants.TERADATA_APPLY).
834
+ Default value: TeradataConstants.TERADATA_SCRIPT
835
+ Permitted Values: TeradataConstants.TERADATA_SCRIPT, TeradataConstants.TERADATA_APPLY
836
+ Types: TeradataConstants
837
+
958
838
  check_script_exist:
959
- Required Argument.
839
+ Required Argument. Applicable only when "file_type" is
840
+ TeradataConstants.TERADATA_SCRIPT. Ignored otherwise.
960
841
  Specifies whether to check if the script exists or not before removing it.
961
842
  When 'True', the presence of the script will be check for.
962
843
  Default value: True
@@ -980,30 +861,44 @@ class UtilFuncs():
980
861
  quote='"')
981
862
  current_db = tdmlctx._get_current_databasename()
982
863
 
983
- script_exists = False
984
- if check_script_exist:
985
- query = "select count(*) from dbc.tablesV " \
986
- "where databasename = '{}' and tablename = '{}' " \
987
- "and tablekind = 'Z'".format(dbname, script_alias)
988
-
989
- script_exists = True if UtilFuncs._execute_query(query)[0][0] == 1 else False
990
-
991
- if script_exists or not check_script_exist:
992
- try:
993
- # If the database is not the current/default database, we need to
994
- # set that as the session database to be able to remove the file.
995
- if dbname.lower() != current_db.lower():
996
- execute_sql('database {}'.format(dbname))
864
+ if file_type == TeradataConstants.TERADATA_SCRIPT:
865
+ script_exists = False
866
+ if check_script_exist:
867
+ query = "select count(*) from dbc.tablesV " \
868
+ "where databasename = '{}' and tablename = '{}' " \
869
+ "and tablekind = 'Z'".format(dbname, script_alias)
870
+
871
+ script_exists = True if UtilFuncs._execute_query(query)[0][0] == 1 else False
872
+
873
+ if script_exists or not check_script_exist:
874
+ try:
875
+ # If the database is not the current/default database, we need to
876
+ # set that as the session database to be able to remove the file.
877
+ if dbname and dbname.lower() != current_db.lower():
878
+ execute_sql('database {}'.format(dbname))
879
+
880
+ # Strip off the file extension and extract the base name.
881
+ from pathlib import Path
882
+ script_base_name = Path(script_alias).stem
883
+
884
+ # Remove the file.
885
+ remove_file(script_base_name, force_remove=True, suppress_output=True)
886
+ return True
887
+ except:
888
+ raise
889
+ finally:
890
+ # Reset the database if it was set to something else.
891
+ if dbname and dbname.lower() != current_db.lower():
892
+ execute_sql('database {}'.format(current_db))
893
+ else:
894
+ # environment name and file name are separated by '::'
895
+ # like <user_env_name(str)>::<apply_script_name>
896
+ env_name, script_alias = script_alias.split('::')
997
897
 
998
- # Remove the file.
999
- remove_file(script_alias, force_remove=True, suppress_output=True)
1000
- return True
1001
- except:
1002
- raise
1003
- finally:
1004
- # Reset the database if it was set to something else.
1005
- if dbname.lower() != current_db.lower():
1006
- execute_sql('database {}'.format(current_db))
898
+ from teradataml.scriptmgmt.lls_utils import get_env
899
+ env = get_env(env_name)
900
+ env.remove_file(script_alias, suppress_output=True)
901
+ return True
1007
902
 
1008
903
  @staticmethod
1009
904
  def _get_help_vtablenames():
@@ -1697,114 +1592,6 @@ class UtilFuncs():
1697
1592
  supported_engines = TeradataConstants.SUPPORTED_ENGINES.value
1698
1593
  return supported_engines[engine]['name']
1699
1594
 
1700
- @staticmethod
1701
- def _get_function_mappings_from_config_file(alias_config_file):
1702
- """
1703
- Function to return the function mappings given the location of configuration file in
1704
- argument 'alias_config_file'.
1705
-
1706
- PARAMETERS:
1707
- alias_config_file:
1708
- Required Argument.
1709
- Specifies the location of configuration file to be read.
1710
-
1711
- RETURNS:
1712
- Function mappings as a dictionary of function_names to alias_names.
1713
-
1714
- RAISES:
1715
- TeradataMLException
1716
-
1717
- EXAMPLES:
1718
- UtilFuncs._get_function_mappings_from_config_file("config_file_location")
1719
-
1720
- """
1721
- repeated_function_names = []
1722
- function_mappings = {}
1723
- invalid_function_mappings = []
1724
- invalid_function_mappings_line_nos = []
1725
- # Reading configuration files
1726
- with open(alias_config_file, 'r') as fread:
1727
- for line_no, line in enumerate(fread.readlines()):
1728
- line = line.strip()
1729
-
1730
- # Ignoring empty lines in the config files.
1731
- if line == "":
1732
- continue
1733
-
1734
- # If the separator ":" is not present.
1735
- if ':' not in line:
1736
- invalid_function_mappings.append(line)
1737
- invalid_function_mappings_line_nos.append(str(line_no + 1))
1738
- else:
1739
- func_name, alias_name = line.split(":")
1740
- func_name = func_name.strip()
1741
- alias_name = alias_name.strip()
1742
-
1743
- # First line of 'alias_config_file' has header "functionName:aliasName".
1744
- if line_no == 0 and func_name == "functionName" and alias_name == "aliasName":
1745
- continue
1746
-
1747
- if func_name == "" or alias_name == "":
1748
- invalid_function_mappings.append(line)
1749
- invalid_function_mappings_line_nos.append(str(line_no + 1))
1750
- continue
1751
-
1752
- if func_name.lower() in function_mappings:
1753
- repeated_function_names.append(func_name.lower())
1754
-
1755
- # Loading function maps with lower values for key.
1756
- function_mappings[func_name.lower()] = alias_name
1757
-
1758
- # Presence of Invalid function mappings in the 'alias_config_file'.
1759
- if len(invalid_function_mappings) > 0:
1760
- err_ = Messages.get_message(MessageCodes.CONFIG_ALIAS_INVALID_FUNC_MAPPING)
1761
- err_ = err_.format("', '".join(invalid_function_mappings),
1762
- ", ".join(invalid_function_mappings_line_nos),
1763
- alias_config_file)
1764
- raise TeradataMlException(err_, MessageCodes.CONFIG_ALIAS_INVALID_FUNC_MAPPING)
1765
-
1766
- # Raising teradataml exception if there are any duplicates in function names.
1767
- if len(repeated_function_names) > 0:
1768
- raise TeradataMlException(Messages.get_message(
1769
- MessageCodes.CONFIG_ALIAS_DUPLICATES).format(alias_config_file,
1770
- ", ".join(repeated_function_names)),
1771
- MessageCodes.CONFIG_ALIAS_DUPLICATES)
1772
-
1773
- return function_mappings
1774
-
1775
- @staticmethod
1776
- def _check_alias_config_file_exists(vantage_version, alias_config_file):
1777
- """
1778
- Function to validate whether alias_config_file exists for the current vantage version.
1779
-
1780
- PARAMETERS:
1781
- vantage_version:
1782
- Required Argument.
1783
- Specifies the current vantage version.
1784
-
1785
- alias_config_file:
1786
- Required Argument.
1787
- Specifies the location of configuration file to be read.
1788
-
1789
- RETURNS:
1790
- True, if the file 'alias_config_file' is present in the
1791
- teradataml/config directory for the current vantage version.
1792
-
1793
- RAISES:
1794
- TeradataMLException
1795
-
1796
- EXAMPLES:
1797
- UtilFuncs._check_alias_config_file_exists("vantage1.0", "config_file_location")
1798
-
1799
- """
1800
- # Raise exception if alias config file is not defined.
1801
- if not Path(alias_config_file).exists():
1802
- raise TeradataMlException(Messages.get_message(
1803
- MessageCodes.CONFIG_ALIAS_CONFIG_FILE_NOT_FOUND).format(alias_config_file,
1804
- vantage_version),
1805
- MessageCodes.CONFIG_ALIAS_CONFIG_FILE_NOT_FOUND)
1806
- return True
1807
-
1808
1595
  @staticmethod
1809
1596
  def _as_list(obj):
1810
1597
  """
@@ -1856,7 +1643,7 @@ class UtilFuncs():
1856
1643
  obj = UtilFuncs._get_all_columns(df, False)
1857
1644
  """
1858
1645
  if is_object_type_tdml_column:
1859
- return object.expression.table.columns
1646
+ return UtilFuncs._all_df_column_expressions(object)
1860
1647
  # object._metaexpr.c extracts the data to a list. And, the caller of
1861
1648
  # this function will again iterate through the list, to process the
1862
1649
  # list i.e. object._metaexpr.c is being iterated twice. To avoid this,
@@ -2495,6 +2282,137 @@ class UtilFuncs():
2495
2282
  return True
2496
2283
  return False
2497
2284
 
2285
+ @staticmethod
2286
+ def _all_df_column_expressions(df_column):
2287
+ """
2288
+ DESCRIPTION:
2289
+ A method to get all the SQLALchemy Columns involved in corresponding DataFrame.
2290
+
2291
+ PARAMETERS:
2292
+ df_column:
2293
+ Required Argument.
2294
+ Specifies teradataml DataFrame ColumnExpression.
2295
+ Types: teradataml DataFrame ColumnExpression
2296
+
2297
+ RAISES:
2298
+ None
2299
+
2300
+ RETURNS:
2301
+ list
2302
+
2303
+ EXAMPLES:
2304
+ >>> self._all_df_column_expressions
2305
+ """
2306
+ cols = []
2307
+ for table_ in df_column._get_sqlalchemy_tables(df_column.expression):
2308
+ cols = cols + list(table_.columns)
2309
+ return cols
2310
+
2311
+ @staticmethod
2312
+ def _all_df_columns(df_column):
2313
+ """
2314
+ DESCRIPTION:
2315
+ A method to get all the column names involved in corresponding DataFrame.
2316
+
2317
+ PARAMETERS:
2318
+ df_column:
2319
+ Required Argument.
2320
+ Specifies teradataml DataFrame ColumnExpression.
2321
+ Types: teradataml DataFrame ColumnExpression
2322
+
2323
+ RAISES:
2324
+ None
2325
+
2326
+ RETURNS:
2327
+ list
2328
+
2329
+ EXAMPLES:
2330
+ >>> self._all_df_columns
2331
+ """
2332
+ return [col.name for col in UtilFuncs._all_df_column_expressions(df_column)]
2333
+
2334
+ @staticmethod
2335
+ def _is_lake():
2336
+ """
2337
+ DESCRIPTION:
2338
+ An internal function to check whether system is Lake or enterprise.
2339
+
2340
+ PARAMETERS:
2341
+ None.
2342
+
2343
+ RAISES:
2344
+ None
2345
+
2346
+ RETURNS:
2347
+ bool
2348
+
2349
+ EXAMPLES:
2350
+ >>> self._is_lake()
2351
+ """
2352
+
2353
+ from teradataml.context.context import _get_database_version
2354
+ return int(_get_database_version().split(".")[0]) >= 20
2355
+
2356
+ @staticmethod
2357
+ def _get_python_execution_path():
2358
+ """
2359
+ DESCRIPTION:
2360
+ An internal function to get the python execution path.
2361
+
2362
+ PARAMETERS:
2363
+ None.
2364
+
2365
+ RAISES:
2366
+ None
2367
+
2368
+ RETURNS:
2369
+ bool
2370
+
2371
+ EXAMPLES:
2372
+ >>> self._get_python_execution_path()
2373
+ """
2374
+
2375
+ if UtilFuncs._is_lake():
2376
+ return "python"
2377
+ else:
2378
+ if configure.indb_install_location == "/var/opt/teradata/languages/sles12sp3/Python/":
2379
+ return '{}bin/python3'.format(configure.indb_install_location)
2380
+ else:
2381
+ return configure.indb_install_location
2382
+
2383
+ def _is_view(tablename):
2384
+ """
2385
+ DESCRIPTION:
2386
+ Internal function to check whether the object is view or not.
2387
+ PARAMETERS:
2388
+ tablename:
2389
+ Required Argument.
2390
+ Table name or view name to be checked.
2391
+ Types: str
2392
+ RAISES:
2393
+ None.
2394
+ RETURNS:
2395
+ True when the tablename is view, else false.
2396
+ EXAMPLES:
2397
+ >>> _is_view('"dbname"."tablename"')
2398
+ """
2399
+ db_name = UtilFuncs._teradata_unquote_arg(UtilFuncs._extract_db_name(tablename), "\"")
2400
+ table_view_name = UtilFuncs._teradata_unquote_arg(UtilFuncs._extract_table_name(tablename), "\"")
2401
+ query = SQLBundle._build_select_table_kind(db_name, "{0}".format(table_view_name), "'V'")
2402
+
2403
+ df = UtilFuncs._execute_query(query)
2404
+ if len(df) > 0:
2405
+ return True
2406
+ else:
2407
+ return False
2408
+ @staticmethod
2409
+ def _set_queryband():
2410
+ try:
2411
+ qb_query = get_qb_query()
2412
+ execute_sql(qb_query)
2413
+ except Exception:
2414
+ pass
2415
+
2498
2416
 
2499
2417
  from teradataml.common.aed_utils import AedUtils
2500
2418
  from teradataml.dbutils.filemgr import remove_file