dwall
10/04/2019, 5:43 PM0.6.0
seems to work fine using pip but getting some interesting errors when trying to install via pipenv:dwall
10/04/2019, 10:56 PMFarhan Husain
10/07/2019, 9:17 PMFarhan Husain
10/07/2019, 9:17 PMFarhan Husain
10/07/2019, 9:20 PMsolids.py
in the root folder, then a `tests\test_solids.pyFarhan Husain
10/07/2019, 9:21 PM@staticmethod
def build(pipeline, environment_dict=None, run_config=None):
check.inst_param(pipeline, 'pipeline', PipelineDefinition)
check.opt_dict_param(environment_dict, 'environment')
run_config = check.opt_inst_param(run_config, 'run_config', RunConfig, default=RunConfig())
mode = run_config.mode or pipeline.get_default_mode_name()
environment_type = create_environment_type(pipeline, mode)
result = evaluate_config(environment_type, environment_dict, pipeline, run_config)
if not result.success:
> raise DagsterInvalidConfigError(pipeline, result.errors, environment_dict)
E dagster.core.errors.DagsterInvalidConfigError: Pipeline "ephemeral_generate_date_suffix_solid_pipeline" config errors:
E Error 1: Missing required field "solids" at document config root. Available Fields: "['execution', 'expectations', 'loggers', 'resources', 'solids', 'storage']".
..\..\.venv\lib\site-packages\dagster\core\system_config\objects.py:114: DagsterInvalidConfigError
Farhan Husain
10/07/2019, 9:23 PMFarhan Husain
10/07/2019, 9:26 PMuser
10/08/2019, 12:57 AMsashank
10/08/2019, 1:15 AMdwall
10/08/2019, 4:46 PMdwall
10/08/2019, 6:08 PMis_secret
is for a Field: https://github.com/dagster-io/dagster/blob/master/python_modules/dagster/dagster/core/types/field.py#L43dwall
10/09/2019, 4:26 PMLee Eames
10/09/2019, 9:19 PMCagatay K
10/10/2019, 4:25 PMMaterialization
API and understand that persisting intermediates is up to the pipeline code. Is the FileCache
API the recommended way to manage file-based intermediates? What about final outputs that I want to tie to the particular job that created them?schrockn
10/10/2019, 8:50 PMschrockn
10/10/2019, 8:51 PMTommy Naugle
10/16/2019, 2:50 PMAn exception was thrown during execution that is likely a framework error, rather than an error in user code.
Original error message: OSError: [WinError 6] The handle is invalid
Stack Trace:
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\site-packages\dagster_graphql\implementation\pipeline_execution_manager.py", line 312, in _in_mp_process
instance,
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\site-packages\dagster\core\execution\api.py", line 141, in execute_run_iterator
step_keys_to_execute=step_keys_to_execute,
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\site-packages\dagster\core\execution\api.py", line 101, in _pipeline_execution_iterator
step_keys_to_execute=step_keys_to_execute,
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\site-packages\dagster\core\engine\engine_inprocess.py", line 120, in execute
yield step_event
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\contextlib.py", line 119, in __exit__
next(self.gen)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\site-packages\dagster\core\execution\compute_logs.py", line 34, in mirror_step_io
yield
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\contextlib.py", line 119, in __exit__
next(self.gen)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\site-packages\dagster\core\execution\compute_logs.py", line 44, in mirror_stream
yield
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\contextlib.py", line 119, in __exit__
next(self.gen)
File "c:\users\tnaugle\appdata\local\continuum\anaconda3\envs\dagster_new\lib\site-packages\dagster\core\execution\compute_logs.py", line 68, in redirect_stream
from_stream.flush()
user
10/18/2019, 5:43 PMPaul Harrison
10/21/2019, 9:16 AMAlexander Kiselyov
10/21/2019, 5:08 PMPhilipp G
10/25/2019, 6:44 PMPhilipp G
10/31/2019, 1:56 PMimport unittest
from dagster import execute_solid, lambda_solid
@lambda_solid
def add_one(x):
return x + 1
class AddOneTest(unittest.TestCase):
def test_for_zero(self):
result = execute_solid(add_one, input_values={"x": 0})
self.assertEqual(1, result.output_value())
When I run the test with unittest
on the command line, the standard output of the test is quite extensive: (continue to read in the thread…)Philipp G
10/31/2019, 2:05 PMTypeError
). However, since dagster catches that error and turns it into another type of error, I have to do something like this:
import unittest
from dagster import DagsterExecutionStepExecutionError, execute_solid, lambda_solid
@lambda_solid
def add_one(x):
return x + 1
class AddOneTest(unittest.TestCase):
def test_fail_for_string(self):
with self.assertRaises(DagsterExecutionStepExecutionError):
execute_solid(add_one, input_values={"x": "s"})
Any good ideas on how I can test for the underlying TypeError
instead of the dagster error easily?Cagatay K
10/31/2019, 5:05 PMdagstermill
when accessing solid configs from inside the notebook. The notebook has a dict
config, declared like:
config_field=Field(
Dict({
'areas': Field(List[str], is_optional=True, default_value=["a", "b", "c"]),
'export_file': Field(Path)
})
)
When I access the config value in the notebook during a job run with context.solid_config['export_file']
, I get a KeyError
.
What options do I have to debug this? Can I step through the generated notebook in the /tmp
location on my own to reproduce it? Or is there a way to debug a pipeline job while it's running?user
11/01/2019, 1:27 AMmax
11/01/2019, 4:10 PMJarryd
11/07/2019, 3:07 AMcontext
resource ?
Contrasting to airflow where you have a worker that runs a single task with zero context between other tasks (besides the shoe-horned xcom)
If two tasks need to operate on different platforms: pyspark in one, general redshift sql in another and finishing with a python function. how does dagster handle this?Michael Santana Santos Mellouk
11/07/2019, 9:52 AMMichael Santana Santos Mellouk
11/07/2019, 9:52 AM