tencent-wedata-feature-engineering-dev 0.1.44__tar.gz → 0.1.45__tar.gz

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 tencent-wedata-feature-engineering-dev might be problematic. Click here for more details.

Files changed (69) hide show
  1. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/PKG-INFO +1 -1
  2. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/tencent_wedata_feature_engineering_dev.egg-info/PKG-INFO +1 -1
  3. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/constants/constants.py +1 -1
  4. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/feature_table_client/feature_table_client.py +19 -8
  5. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/README.md +0 -0
  6. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/setup.cfg +0 -0
  7. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/setup.py +0 -0
  8. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/tencent_wedata_feature_engineering_dev.egg-info/SOURCES.txt +0 -0
  9. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/tencent_wedata_feature_engineering_dev.egg-info/dependency_links.txt +0 -0
  10. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/tencent_wedata_feature_engineering_dev.egg-info/requires.txt +0 -0
  11. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/tencent_wedata_feature_engineering_dev.egg-info/top_level.txt +0 -0
  12. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/__init__.py +0 -0
  13. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/__init__.py +0 -0
  14. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/client.py +0 -0
  15. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/cloud_sdk_client/__init__.py +0 -0
  16. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/cloud_sdk_client/client.py +0 -0
  17. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/cloud_sdk_client/models.py +0 -0
  18. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/cloud_sdk_client/utils.py +0 -0
  19. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/common/__init__.py +0 -0
  20. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/common/protos/__init__.py +0 -0
  21. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/common/protos/feature_store_pb2.py +0 -0
  22. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/common/store_config/__init__.py +0 -0
  23. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/common/store_config/redis.py +0 -0
  24. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/constants/__init__.py +0 -0
  25. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/constants/engine_types.py +0 -0
  26. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/__init__.py +0 -0
  27. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/column_info.py +0 -0
  28. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/environment_variables.py +0 -0
  29. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/feature.py +0 -0
  30. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/feature_column_info.py +0 -0
  31. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/feature_function.py +0 -0
  32. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/feature_lookup.py +0 -0
  33. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/feature_spec.py +0 -0
  34. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/feature_spec_constants.py +0 -0
  35. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/feature_table.py +0 -0
  36. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/feature_table_info.py +0 -0
  37. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/function_info.py +0 -0
  38. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/on_demand_column_info.py +0 -0
  39. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/source_data_column_info.py +0 -0
  40. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/entities/training_set.py +0 -0
  41. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/feast_client/__init__.py +0 -0
  42. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/feast_client/feast_client.py +0 -0
  43. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/feature_table_client/__init__.py +0 -0
  44. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/mlflow_model.py +0 -0
  45. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/spark_client/__init__.py +0 -0
  46. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/spark_client/spark_client.py +0 -0
  47. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/training_set_client/__init__.py +0 -0
  48. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/training_set_client/training_set_client.py +0 -0
  49. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/__init__.py +0 -0
  50. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/common_utils.py +0 -0
  51. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/env_utils.py +0 -0
  52. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/feature_lookup_utils.py +0 -0
  53. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/feature_spec_utils.py +0 -0
  54. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/feature_utils.py +0 -0
  55. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/on_demand_utils.py +0 -0
  56. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/schema_utils.py +0 -0
  57. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/signature_utils.py +0 -0
  58. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/topological_sort.py +0 -0
  59. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/training_set_utils.py +0 -0
  60. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/uc_utils.py +0 -0
  61. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/feature_store/utils/validation_utils.py +0 -0
  62. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/tempo/__init__.py +0 -0
  63. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/tempo/interpol.py +0 -0
  64. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/tempo/intervals.py +0 -0
  65. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/tempo/io.py +0 -0
  66. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/tempo/ml.py +0 -0
  67. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/tempo/resample.py +0 -0
  68. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/tempo/tsdf.py +0 -0
  69. {tencent-wedata-feature-engineering-dev-0.1.44 → tencent-wedata-feature-engineering-dev-0.1.45}/wedata/tempo/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tencent-wedata-feature-engineering-dev
3
- Version: 0.1.44
3
+ Version: 0.1.45
4
4
  Summary: Wedata Feature Engineering Library Development
5
5
  Home-page:
6
6
  Author: meahqian
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tencent-wedata-feature-engineering-dev
3
- Version: 0.1.44
3
+ Version: 0.1.45
4
4
  Summary: Wedata Feature Engineering Library Development
5
5
  Home-page:
6
6
  Author: meahqian
@@ -43,7 +43,7 @@ ML_MODEL = "MLmodel"
43
43
  FEATURE_LOOKUP_CLIENT_PIP_PACKAGE = "tencent-wedata-feature-engineering-dev"
44
44
 
45
45
  # 特征查找版本号
46
- FEATURE_LOOKUP_CLIENT_MAJOR_VERSION = "0.1.44"
46
+ FEATURE_LOOKUP_CLIENT_MAJOR_VERSION = "0.1.45"
47
47
 
48
48
  # 特征存储内部数据目录
49
49
  FEATURE_STORE_INTERNAL_DATA_DIR = "_wedata_internal/"
@@ -123,6 +123,11 @@ class FeatureTableClient:
123
123
  """转义SQL值中的特殊字符"""
124
124
  return value.replace("'", "''")
125
125
 
126
+ @staticmethod
127
+ def _check_sequence_element_type(sequence: Sequence[Any], element_type: type) -> bool:
128
+ """检查序列中的元素是否为指定类型"""
129
+ return all(isinstance(element, element_type) for element in sequence)
130
+
126
131
  def create_table(
127
132
  self,
128
133
  name: str,
@@ -165,6 +170,10 @@ class FeatureTableClient:
165
170
  primary_keys = self._normalize_params(primary_keys)
166
171
  partition_columns = self._normalize_params(partition_columns)
167
172
 
173
+ assert self._check_sequence_element_type(primary_keys, str), "primary_keys must be a list of strings"
174
+ assert self._check_sequence_element_type(partition_columns, str), "partition_columns must be a list of strings"
175
+ assert isinstance(timestamp_key, str), "timestamp key must be string"
176
+
168
177
  # 元数据校验
169
178
  self._validate_schema(df, schema)
170
179
  self._validate_key_exists(primary_keys, timestamp_key)
@@ -444,6 +453,10 @@ class FeatureTableClient:
444
453
  common_utils.validate_table_name(name)
445
454
  common_utils.validate_database(database_name)
446
455
 
456
+ if primary_keys:
457
+ assert self._check_sequence_element_type(primary_keys, str), "primary_keys must be a list of strings"
458
+ assert isinstance(timestamp_key, str), "timestamp key must be string"
459
+
447
460
  # 构建完整表名
448
461
  table_name = common_utils.build_full_table_name(name, database_name)
449
462
 
@@ -456,11 +469,12 @@ class FeatureTableClient:
456
469
 
457
470
  # 检查Primary Key和Timestamp Key是否为空
458
471
  if engine_type == engine_type.ICEBERG_ENGINE and props.get("format-version", "") == "2":
459
- if props.get('dlc.ao.data.govern.sorted.keys', "") == "":
460
- raise ValueError(
461
- "table dlc.ao.data.govern.sorted.keys is empty. you must set dlc.ao.data.govern.sorted.keys")
462
- else:
463
- primary_keys = props.get('dlc.ao.data.govern.sorted.keys').split(",")
472
+ if not primary_keys:
473
+ if props.get('dlc.ao.data.govern.sorted.keys', "") == "":
474
+ raise ValueError(
475
+ "table dlc.ao.data.govern.sorted.keys is empty. you must set dlc.ao.data.govern.sorted.keys")
476
+ else:
477
+ primary_keys = props.get('dlc.ao.data.govern.sorted.keys').split(",")
464
478
  elif engine_type == engine_type.HIVE_ENGINE:
465
479
  if not primary_keys:
466
480
  raise ValueError("primary_keys cannot be None for HIVE_ENGINE")
@@ -613,9 +627,6 @@ class FeatureTableClient:
613
627
  print(f"Table '{name}' does not exist")
614
628
  return
615
629
 
616
- # 检查
617
- df = self._spark.table(tableName=table_name)
618
-
619
630
  try:
620
631
  feature_view = self._feast_client.get_feature_view(table_name)
621
632
  except Exception as e: