Hi, I'm trying to ingest from glue, however with v...
# ingestion
f
Hi, I'm trying to ingest from glue, however with version acryl_datahub-0.8.26.4 it generates the following error, even though I previously installed the glue plugin ( python3 -m pip install 'acryl-datahub[glue]' ), however when I install version 0.8.23.1, it ingests correctly. Error:
Copy code
[2022-02-16 23:04:00,956] ERROR    {datahub.entrypoints:125} - File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/api/registry.py", line 84, in _ensure_not_lazy
    80   def _ensure_not_lazy(self, key: str) -> Union[Type[T], Exception]:
    81       path = self._mapping[key]
    82       if isinstance(path, str):
    83           try:
--> 84               plugin_class = import_path(path)
    85               self.register(key, plugin_class, override=True)
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/api/registry.py", line 32, in import_path
    18   def import_path(path: str) -> Any:
 (...)
    28           module_name, object_name = path.rsplit(":", 1)
    29       else:
    30           module_name, object_name = path.rsplit(".", 1)
    31   
--> 32       item = importlib.import_module(module_name)
    33       for attr in object_name.split("."):
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    109  def import_module(name, package=None):
 (...)
    123          for character in name:
    124              if character != '.':
    125                  break
    126              level += 1
--> 127      return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/source/aws/glue.py", line 27, in <module>
    23   from datahub.ingestion.api.source import Source, SourceReport
    24   from datahub.ingestion.api.workunit import MetadataWorkUnit
    25   from datahub.ingestion.source.aws.aws_common import AwsSourceConfig
    26   from datahub.ingestion.source.aws.s3_util import make_s3_urn
--> 27   from datahub.ingestion.source.sql.sql_common import SqlContainerSubTypes
    28   from datahub.metadata.com.linkedin.pegasus2avro.common import Status
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/source/sql/sql_common.py", line 22, in <module>
    18   )
    19   from urllib.parse import quote_plus
    20   
    21   import pydantic
--> 22   from sqlalchemy import create_engine, inspect
    23   from sqlalchemy.engine.reflection import Inspector
---- (full traceback above) ----
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/api/registry.py", line 84, in _ensure_not_lazy
    plugin_class = import_path(path)
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/api/registry.py", line 32, in import_path
    item = importlib.import_module(module_name)
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/source/aws/glue.py", line 27, in <module>
    from datahub.ingestion.source.sql.sql_common import SqlContainerSubTypes
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/source/sql/sql_common.py", line 22, in <module>
    from sqlalchemy import create_engine, inspect
ModuleNotFoundError: No module named 'sqlalchemy'
The above exception was the direct cause of the following exception:
File "/usr/local/lib/python3.7/site-packages/datahub/cli/ingest_cli.py", line 77, in run
    67   def run(config: str, dry_run: bool, preview: bool, strict_warnings: bool) -> None:
 (...)
    73       pipeline_config = load_config_file(config_file)
    74   
    75       try:
    76           logger.debug(f"Using config: {pipeline_config}")
--> 77           pipeline = Pipeline.create(pipeline_config, dry_run, preview)
    78       except ValidationError as e:
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/run/pipeline.py", line 175, in create
    171  def create(
    172      cls, config_dict: dict, dry_run: bool = False, preview_mode: bool = False
    173  ) -> "Pipeline":
    174      config = PipelineConfig.parse_obj(config_dict)
--> 175      return cls(config, dry_run=dry_run, preview_mode=preview_mode)
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/run/pipeline.py", line 120, in __init__
    105  def __init__(
    106      self, config: PipelineConfig, dry_run: bool = False, preview_mode: bool = False
    107  ):
 (...)
    116          preview_mode=preview_mode,
    117      )
    118  
    119      source_type = self.config.source.type
--> 120      source_class = source_registry.get(source_type)
    121      self.source: Source = source_class.create(
File "/usr/local/lib/python3.7/site-packages/datahub/ingestion/api/registry.py", line 130, in get
    115  def get(self, key: str) -> Type[T]:
 (...)
    126      tp = self._ensure_not_lazy(key)
    127      if isinstance(tp, ModuleNotFoundError):
    128          raise ConfigurationError(
    129              f"{key} is disabled; try running: pip install '{__package_name__}[{key}]'"
--> 130          ) from tp
    131      elif isinstance(tp, Exception):
ConfigurationError: glue is disabled; try running: pip install 'acryl-datahub[glue]'
d
Thanks for reporting and I’m checking
f
thank you !
d
We just cut a new pypi release. It should be fine now.