notebooks icon indicating copy to clipboard operation
notebooks copied to clipboard

AtotiJavaException: unable to find valid certification path to requested target

Open tibdex opened this issue 3 years ago • 0 comments

Discussed in https://github.com/atoti/atoti/discussions/743

Originally posted by lemalema94 February 6, 2023 Hi,

I am currently working on your VaR notebook. When executing the code to read the instruments.csv file I get an error message: unable to find valid certification path to requested target.

Please note that I've installed atoti-aws as advised.

Can you please advise on how to fix this? Below is the complete error message. Thanks.

[A[totiJavaException                        Traceback (most recent call last)
Cell In[4], line 1
----> 1 instruments = session.read_csv(
      2     "s3://data.atoti.io/notebooks/var/instruments.csv",
      3     keys=["instrument_code"],
      4     table_name="Instruments",
      5 )

File ~\Anaconda3\envs\atoti\lib\site-packages\atoti\_telemetry\track_calls.py:97, in _track_function_calls.<locals>.function_wrapper(*args, **kwargs)
     94 call_tracker.tracking = True
     96 try:
---> 97     return _track_function_call(function, call_path, *args, **kwargs)
     98 finally:
     99     call_tracker.tracking = False

File ~\Anaconda3\envs\atoti\lib\site-packages\atoti\_telemetry\track_calls.py:59, in _track_function_call(function, call_path, *args, **kwargs)
     56     except:  # pylint: disable=bare-except
     57         # Do nothing to let the previous error be the one presented to the user.
     58         ...
---> 59     raise error
     60 finally:
     61     arguments: Dict[str, str] = {}

File ~\Anaconda3\envs\atoti\lib\site-packages\atoti\_telemetry\track_calls.py:52, in _track_function_call(function, call_path, *args, **kwargs)
     50 call_time = time.perf_counter()
     51 try:
---> 52     return function(*args, **kwargs)
     53 except Exception as error:  # pylint: disable=broad-except
     54     try:

File ~\Anaconda3\envs\atoti\lib\site-packages\atoti\_runtime_type_checking_utils.py:177, in _TypecheckWrapperFactory.create_wrapper.<locals>.typechecked_func_wrapper(*args, **kwargs)
    174 typeguard.check_argument_types(memo)
    176 # Call the actual function.
--> 177 return self._func(*args, **kwargs)

File ~\Anaconda3\envs\atoti\lib\site-packages\atoti_core\doc.py:21, in doc.<locals>.decorator.<locals>.wrapper(*args, **kwargs)
     19 @wraps(function)
     20 def wrapper(*args: _P.args, **kwargs: _P.kwargs) -> Any:
---> 21     return function(*args, **kwargs)

File ~\Anaconda3\envs\atoti\lib\site-packages\atoti\session.py:638, in Session.read_csv(self, path, keys, table_name, separator, encoding, process_quotes, partitioning, types, columns, array_separator, date_patterns, default_values, client_side_encryption)
    632 path, pattern = split_path_and_pattern(path, ".csv")
    634 table_name = _infer_table_name(
    635     path=path, pattern=pattern, table_name=table_name
    636 )
--> 638 csv_file_format = CsvDataSource(
    639     load_data_into_table=self._java_api.load_data_into_table,
    640     discover_csv_file_format=self._java_api.discover_csv_file_format,
    641 ).discover_file_format(
    642     path=path,
    643     keys=keys,
    644     separator=separator,
    645     encoding=encoding,
    646     process_quotes=process_quotes,
    647     array_separator=array_separator,
    648     pattern=pattern,
    649     date_patterns=date_patterns,
    650     default_values={
    651         column_name: None if value is None else Constant(value)
    652         for column_name, value in default_values.items()
    653     },
    654     client_side_encryption=client_side_encryption,
    655     columns=columns,
    656 )
    657 types = (
    658     {**csv_file_format.types, **types}
    659     if types is not None
    660     else csv_file_format.types
    661 )
    662 process_quotes = (
    663     process_quotes
    664     if process_quotes is not None
    665     else csv_file_format.process_quotes
    666 )

File ~\Anaconda3\envs\atoti\lib\site-packages\atoti\_sources\csv.py:103, in CsvDataSource.discover_file_format(self, path, keys, separator, encoding, process_quotes, array_separator, pattern, date_patterns, default_values, client_side_encryption, columns)
     91 """Infer Table types from a CSV file or directory."""
     92 source_params = create_csv_params(
     93     path=path,
     94     columns=columns,
   (...)
    101     client_side_encryption=client_side_encryption,
    102 )
--> 103 return self._discover_csv_file_format(
    104     keys=keys,
    105     default_values=default_values,
    106     source_params=source_params,
    107 )

File ~\Anaconda3\envs\atoti\lib\site-packages\atoti\_java_api.py:166, in _enhance_py4j_errors.<locals>.wrapped_method(self, *args, **kwargs)
    160 except Py4JJavaError as java_exception:
    161     cause = (
    162         str(java_exception)
    163         if get_env_flag(_VERBOSE_JAVA_EXCEPTIONS_ENV_VAR)
    164         else self.get_throwable_root_cause(java_exception.java_exception)
    165     )
--> 166     raise AtotiJavaException(
    167         cause,
    168         java_traceback=str(java_exception),
    169         java_exception=java_exception,
    170     ) from None

AtotiJavaException: unable to find valid certification path to requested target
​](url)](url)
```</div>

tibdex avatar Feb 06 '23 16:02 tibdex