Jeff Hulbert
03/19/2021, 1:23 PMdagster-user-deployments:
# Creates a workspace file with the gRPC servers hosting your user code.
enabled: true
# If you plan on deploying user code in a separate Helm release, set this to false.
enableSubchart: true
# List of unique deployments
deployments:
- name: "dagster-code"
image:
repository: "<http://repo.azurecr.io/dagster-code|repo.azurecr.io/dagster-code>"
tag: latest
# Change with caution! If you're using a fixed tag for pipeline run images, changing the
# image pull policy to anything other than "Always" will use a cached/stale image, which is
# almost certainly not what you want.
pullPolicy: Always
# Arguments to `dagster api grpc`.
# Ex: "dagster api grpc -m dagster_test.test_project.test_pipelines.repo -a define_demo_execution_repo"
# would translate to:
# dagsterApiGrpcArgs:
# - "-m"
# - "dagster_test.test_project.test_pipelines.repo"
# - "-a"
# - "define_demo_execution_repo"
dagsterApiGrpcArgs:
- "-f"
- "/opt/dagster/app/repository.py"
port: 3030
King Chung Huang
03/19/2021, 7:04 PMPresetDefinition
vs PartitionSetDefinition
as a discussion. Originally wrote this last year, but never got around to finishing it off. I'd love to know what others think of it!
tl;dr: I think the distinction between the two is unnecessarily complicated. They can be combined by adding general variable support to PresetDefinition
.
https://github.com/dagster-io/dagster/discussions/3904esztermarton
03/19/2021, 7:08 PMYan
03/21/2021, 8:54 AMgeoHeil
03/21/2021, 10:53 AMpip install .
A manual import:
from usecase_b.hello_b import hello
works nicely.
However, when trying to start dagit I get a stacktrace of:
No module named 'hello_b'
geoHeil
03/21/2021, 10:53 AMTraceback (most recent call last):
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/core/code_pointer.py", line 188, in load_python_module
module = importlib.import_module(module_name)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/usecase_b/repository_b.py", line 2, in <module>
from hello_b import hello_b_pipeline
ModuleNotFoundError: No module named 'hello_b'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/__main__.py", line 4, in <module>
grpc_command()
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/cli/api.py", line 402, in grpc_command
server = DagsterGrpcServer(
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 805, in __init__
self._api_servicer = DagsterApiServer(
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 217, in __init__
self._repository_symbols_and_code_pointers.load()
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 98, in load
self._loadable_repository_symbols = load_loadable_repository_symbols(
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 122, in load_loadable_repository_symbols
loadable_targets = get_loadable_targets(
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/utils.py", line 37, in get_loadable_targets
else loadable_targets_from_python_package(package_name)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/cli/workspace/autodiscovery.py", line 23, in loadable_targets_from_python_package
module = load_python_module(package_name, remove_from_path_fn=remove_from_path_fn)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/core/code_pointer.py", line 210, in load_python_module
raise error
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/core/code_pointer.py", line 182, in load_python_module
module = importlib.import_module(module_name)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/usecase_b/repository_b.py", line 2, in <module>
from hello_b import hello_b_pipeline
ModuleNotFoundError: No module named 'hello_b'
/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/cli/workspace/workspace.py:105: UserWarning: Error loading repository location u_B:dagster.core.errors.DagsterUserCodeProcessError: ModuleNotFoundError: No module named 'hello_b'
Stack Trace:
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 805, in __init__
self._api_servicer = DagsterApiServer(
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 217, in __init__
self._repository_symbols_and_code_pointers.load()
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 98, in load
self._loadable_repository_symbols = load_loadable_repository_symbols(
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 122, in load_loadable_repository_symbols
loadable_targets = get_loadable_targets(
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/utils.py", line 37, in get_loadable_targets
else loadable_targets_from_python_package(package_name)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/cli/workspace/autodiscovery.py", line 23, in loadable_targets_from_python_package
module = load_python_module(package_name, remove_from_path_fn=remove_from_path_fn)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/core/code_pointer.py", line 210, in load_python_module
raise error
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/core/code_pointer.py", line 182, in load_python_module
module = importlib.import_module(module_name)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/usecase_b/repository_b.py", line 2, in <module>
from hello_b import hello_b_pipeline
Stack Trace:
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/cli/workspace/workspace.py", line 100, in _load_handle
handle = self.create_handle_from_origin(origin)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/cli/workspace/workspace.py", line 85, in create_handle_from_origin
return origin.create_handle()
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/core/host_representation/origin.py", line 190, in create_handle
return ManagedGrpcPythonEnvRepositoryLocationHandle(self)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/core/host_representation/handle.py", line 295, in __init__
self.grpc_server_process = GrpcServerProcess(
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 1066, in __init__
self.server_process = open_server_process(
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 981, in open_server_process
wait_for_grpc_server(server_process, output_file)
File "/usr/local/Caskroom/miniconda/base/envs/dagster-demo/lib/python3.9/site-packages/dagster/grpc/server.py", line 918, in wait_for_grpc_server
raise DagsterUserCodeProcessError(
warnings.warn(
Loading repository...
geoHeil
03/21/2021, 10:53 AMnikki
03/21/2021, 5:30 PMlewis card
03/22/2021, 12:31 PMdagster api grpc-health-check
returns nothing.
The error I am getting in dagit is:
grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
status = StatusCode.UNAVAILABLE
details = "failed to connect to all addresses"
debug_error_string = "{"created":"@1616415994.552532757","description":"Failed to pick subchannel","file":"src/core/ext/filters/client_channel/client_channel.cc","file_line":5396,"referenced_errors":[{"created":"@1616415994.552531220","description":"failed to connect to all addresses","file":"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc","file_line":397,"grpc_status":14}]}"
Thanks for your helpszalai1
03/22/2021, 12:57 PMbklau-zap
03/22/2021, 2:51 PMDeveshi
03/22/2021, 3:00 PMJeff Hulbert
03/22/2021, 3:48 PMBen Torvaney
03/22/2021, 4:36 PMMichael Lynton
03/22/2021, 9:45 PMread_csv
concept from the tutorials. Since I wanted to use two csvs and pass each value into that solid, I created a composite solid (not sure if that is unneeded here - is that the right approach?). I did this, so that I could pass each url/csv into the read_csv function and get a dataframe output to work with downstream.
I was able to run the pipeline just with my composite solid, which I felt was a win. I get some basic logging with number of lines in each dataframe. Pretty cool.
My composite solid looks like this:
@composite_solid
def read_csv_multi():
read_intl = read_csv.alias("read_intl")
read_us = read_csv.alias("read_us")
return (read_intl(), read_us())
Now, where I am stuck is, I’m not sure if this is the right approach because, like I said, I want to use each dataframe (Intl & US) in other solids downstream, but probably separate solids because they are different structures and need to be processed differently.
Do I need to do something with yielding output definitions on the composite solid, so that I can use the output as input in each of my “rename/prep” solids? I am pretty sure that I tried to do something like yield Output(read_us(), "us_data")
inside of the composite solid above, but I got a weird message like:
@composite_solid read_csv_multi returned problematic value of type <class 'generator'>. Expected return value from invoked solid or dict mapping output name to return values from invoked solids
Kinda feels like I’m spinning my wheels all to avoid duplicating my read_csv solid. Sure, I could duplicate it but I feel like I don’t really need to, right? Thanks for any pointersuser
03/22/2021, 10:34 PMjohann
03/22/2021, 10:50 PMStany Angoyi
03/23/2021, 8:39 AMbase_dir
) for sqlite to store run information? Can I use the sqlite that comes shipped with Python?
Currently, when it's set to base_dir: /home/stany/anaconda3/bin/sqlite3
or base_dir: /home/stany/anaconda3/envs/dagster/bin/sqlite3
, it returns the following error:
yaml.scanner.ScannerError: mapping values are not allowed here
Any suggestion?
Thanks,
StanyNawafSheikh
03/23/2021, 9:20 AMDeveshi
03/23/2021, 12:16 PMRolf Schick
03/23/2021, 12:30 PMSteve Pletcher
03/23/2021, 8:21 PMYugal Sharma
03/24/2021, 6:21 AMCesar Benitez
03/24/2021, 7:51 AMCesar Benitez
03/24/2021, 7:51 AMCesar Benitez
03/24/2021, 7:51 AMCesar Benitez
03/24/2021, 7:52 AMSasha Gorelikov
03/24/2021, 10:42 AMdagster/priority
on a run (either in Dagit or on the pipeline definition in code), you can specify an integer value as the run’s priority
but dagster(0.11.1) works with string
dagster.check.CheckError: Value in dictionary mismatches expected type for key dagster/priority. Expected value of type <class 'str'>. Got value 1 of type <class 'int'>.
thanks.Sasha Gorelikov
03/24/2021, 10:45 AMjonathan
03/24/2021, 1:48 PM