context

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2019 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func APIPath

func APIPath(apiName string, appName string) string

func APIResourcesAndComputesMatch

func APIResourcesAndComputesMatch(ctx1 *Context, ctx2 *Context) bool

func DataTypeID

func DataTypeID(dataType interface{}) string

func ExtractResourceWorkloadIDs

func ExtractResourceWorkloadIDs(resources []ComputedResource) map[string]string

func GetColumnRuntimeTypes

func GetColumnRuntimeTypes(
	columnInputValues map[string]interface{},
	rawColumns RawColumns,
) (map[string]interface{}, error)

func ValidateModelTargetType

func ValidateModelTargetType(targetType userconfig.ColumnType, modelType userconfig.ModelType) error

Types

type API

type API struct {
	*userconfig.API
	*ComputedResourceFields
	Path string `json:"path"`
}

type APIs

type APIs map[string]*API

func (APIs) OneByID

func (apis APIs) OneByID(id string) *API

type Aggregate

type Aggregate struct {
	*userconfig.Aggregate
	*ComputedResourceFields
	Type interface{} `json:"type"`
	Key  string      `json:"key"`
}

func (*Aggregate) Args

func (aggregate *Aggregate) Args() map[string]string

Returns map[string]string because after autogen, arg values are constant or aggregate names

func (*Aggregate) GetType

func (aggregate *Aggregate) GetType() interface{}

type Aggregates

type Aggregates map[string]*Aggregate

func (Aggregates) OneByID

func (aggregates Aggregates) OneByID(id string) *Aggregate

type Aggregator

type Aggregator struct {
	*userconfig.Aggregator
	*ResourceFields
	Namespace *string `json:"namespace"`
	ImplKey   string  `json:"impl_key"`
}

type Aggregators

type Aggregators map[string]*Aggregator

func (Aggregators) OneByID

func (aggregators Aggregators) OneByID(id string) *Aggregator

type App

type App struct {
	*userconfig.App
	ID string `json:"id"`
}

type Column

type Column interface {
	ComputedResource
	GetType() userconfig.ColumnType
	IsRaw() bool
	GetInputRawColumnNames() []string
}

type Columns

type Columns map[string]Column

func (Columns) ID

func (columns Columns) ID(columnNames []string) string

func (Columns) IDWithTags

func (columns Columns) IDWithTags(columnNames []string) string

type ComputedResource

type ComputedResource interface {
	Resource
	GetWorkloadID() string
	SetWorkloadID(string)
}

type ComputedResourceFields

type ComputedResourceFields struct {
	*ResourceFields
	WorkloadID string `json:"workload_id"`
}

func (*ComputedResourceFields) GetWorkloadID

func (r *ComputedResourceFields) GetWorkloadID() string

func (*ComputedResourceFields) SetWorkloadID

func (r *ComputedResourceFields) SetWorkloadID(workloadID string)

type Constant

type Constant struct {
	*userconfig.Constant
	*ResourceFields
	Key string `json:"key"`
}

type Constants

type Constants map[string]*Constant

func (Constants) OneByID

func (constants Constants) OneByID(id string) *Constant

type Context

type Context struct {
	ID                 string             `json:"id"`
	Key                string             `json:"key"`
	CortexConfig       *CortexConfig      `json:"cortex_config"`
	DatasetVersion     string             `json:"dataset_version"`
	Root               string             `json:"root"`
	RawDataset         RawDataset         `json:"raw_dataset"`
	StatusPrefix       string             `json:"status_prefix"`
	App                *App               `json:"app"`
	Environment        *Environment       `json:"environment"`
	PythonPackages     PythonPackages     `json:"python_packages"`
	RawColumns         RawColumns         `json:"-"`
	Aggregates         Aggregates         `json:"aggregates"`
	TransformedColumns TransformedColumns `json:"transformed_columns"`
	Models             Models             `json:"models"`
	APIs               APIs               `json:"apis"`
	Constants          Constants          `json:"constants"`
	Aggregators        Aggregators        `json:"aggregators"`
	Transformers       Transformers       `json:"transformers"`
}

func FromMsgpackBytes

func FromMsgpackBytes(b []byte) (*Context, error)

func (*Context) APIResourceWorkloadIDs

func (ctx *Context) APIResourceWorkloadIDs() map[string]string

func (*Context) APIResources

func (ctx *Context) APIResources() []ComputedResource

func (*Context) AllComputedResourceDependencies

func (ctx *Context) AllComputedResourceDependencies(resourceID string) strset.Set

func (*Context) AllResources

func (ctx *Context) AllResources() []Resource

func (*Context) CheckAllWorkloadIDsPopulated

func (ctx *Context) CheckAllWorkloadIDsPopulated() error

func (*Context) ColumnNames

func (ctx *Context) ColumnNames() strset.Set

func (*Context) Columns

func (ctx *Context) Columns() Columns

func (*Context) ComputedResourceIDs

func (ctx *Context) ComputedResourceIDs() strset.Set

func (*Context) ComputedResourceResourceWorkloadIDs

func (ctx *Context) ComputedResourceResourceWorkloadIDs() map[string]string

func (*Context) ComputedResourceWorkloadIDs

func (ctx *Context) ComputedResourceWorkloadIDs() strset.Set

func (*Context) ComputedResources

func (ctx *Context) ComputedResources() []ComputedResource

func (*Context) DataComputedResources

func (ctx *Context) DataComputedResources() []ComputedResource

func (*Context) DataResourceWorkloadIDs

func (ctx *Context) DataResourceWorkloadIDs() map[string]string

func (*Context) DirectComputedResourceDependencies

func (ctx *Context) DirectComputedResourceDependencies(resourceID string) strset.Set

func (*Context) GetColumn

func (ctx *Context) GetColumn(name string) Column

func (Context) MarshalJSON

func (ctx Context) MarshalJSON() ([]byte, error)

func (*Context) OneResourceByID

func (ctx *Context) OneResourceByID(resourceID string) Resource

Note: there may be >1 resources with the ID, this returns one of them

func (*Context) OneTrainingDatasetByID

func (ctx *Context) OneTrainingDatasetByID(id string) *TrainingDataset

func (*Context) PopulateWorkloadIDs

func (ctx *Context) PopulateWorkloadIDs(resourceWorkloadIDs map[string]string)

Overwrites any existing workload IDs

func (*Context) RawColumnInputNames added in v0.2.0

func (ctx *Context) RawColumnInputNames(model *Model) []string

func (Context) ToMsgpackBytes

func (ctx Context) ToMsgpackBytes() ([]byte, error)

func (Context) ToSerial

func (ctx Context) ToSerial() *Serial

func (*Context) UnmarshalJSON

func (ctx *Context) UnmarshalJSON(b []byte) error

func (*Context) Validate

func (ctx *Context) Validate() error

func (*Context) VisibleResourceByName

func (ctx *Context) VisibleResourceByName(name string) (ComputedResource, error)

func (*Context) VisibleResourceByNameAndType

func (ctx *Context) VisibleResourceByNameAndType(name string, resourceTypeStr string) (ComputedResource, error)

func (*Context) VisibleResourcesByName

func (ctx *Context) VisibleResourcesByName(name string) []ComputedResource

func (*Context) VisibleResourcesMap

func (ctx *Context) VisibleResourcesMap() map[string][]ComputedResource

type CortexConfig

type CortexConfig struct {
	APIVersion string `json:"api_version"`
	Bucket     string `json:"bucket"`
	Region     string `json:"region"`
	LogGroup   string `json:"log_group"`
	ID         string `json:"id"`
}

type DataSplit

type DataSplit struct {
	CSVData     *userconfig.CSVData     `json:"csv_data"`
	ParquetData *userconfig.ParquetData `json:"parquet_data"`
}

type Environment

type Environment struct {
	*userconfig.Environment
	ID string `json:"id"`
}

type Model

type Model struct {
	*userconfig.Model
	*ComputedResourceFields
	Key     string           `json:"key"`
	ImplID  string           `json:"impl_id"`
	ImplKey string           `json:"impl_key"`
	Dataset *TrainingDataset `json:"dataset"`
}

type Models

type Models map[string]*Model

func (Models) GetTrainingDatasets

func (models Models) GetTrainingDatasets() TrainingDatasets

func (Models) OneByID

func (models Models) OneByID(id string) *Model

type PythonPackage added in v0.2.0

type PythonPackage struct {
	userconfig.ResourceConfigFields
	*ComputedResourceFields
	SrcKey     string `json:"src_key"`
	PackageKey string `json:"package_key"`
}

func (*PythonPackage) GetResourceType added in v0.2.0

func (pythonPackage *PythonPackage) GetResourceType() resource.Type

type PythonPackages added in v0.2.0

type PythonPackages map[string]*PythonPackage

type RawColumn

type RawColumn interface {
	Column
	GetCompute() *userconfig.SparkCompute
	GetUserConfig() userconfig.Resource
}

type RawColumns

type RawColumns map[string]RawColumn

func (RawColumns) ColumnInputsID

func (rawColumns RawColumns) ColumnInputsID(columnInputValues map[string]interface{}) string

func (RawColumns) ColumnInputsIDWithTags

func (rawColumns RawColumns) ColumnInputsIDWithTags(columnInputValues map[string]interface{}) string

func (RawColumns) OneByID

func (rawColumns RawColumns) OneByID(id string) RawColumn

type RawColumnsTypeSplit

type RawColumnsTypeSplit struct {
	RawIntColumns    map[string]*RawIntColumn    `json:"raw_int_columns"`
	RawStringColumns map[string]*RawStringColumn `json:"raw_string_columns"`
	RawFloatColumns  map[string]*RawFloatColumn  `json:"raw_float_columns"`
}

type RawDataset

type RawDataset struct {
	Key         string `json:"key"`
	MetadataKey string `json:"metadata_key"`
}

type RawFloatColumn

type RawFloatColumn struct {
	*userconfig.RawFloatColumn
	*ComputedResourceFields
}

func (*RawFloatColumn) GetInputRawColumnNames added in v0.2.0

func (rawColumn *RawFloatColumn) GetInputRawColumnNames() []string

type RawIntColumn

type RawIntColumn struct {
	*userconfig.RawIntColumn
	*ComputedResourceFields
}

func (*RawIntColumn) GetInputRawColumnNames added in v0.2.0

func (rawColumn *RawIntColumn) GetInputRawColumnNames() []string

type RawStringColumn

type RawStringColumn struct {
	*userconfig.RawStringColumn
	*ComputedResourceFields
}

func (*RawStringColumn) GetInputRawColumnNames added in v0.2.0

func (rawColumn *RawStringColumn) GetInputRawColumnNames() []string

type Resource

type Resource interface {
	userconfig.Resource
	GetID() string
	GetIDWithTags() string
	GetResourceFields() *ResourceFields
}

type ResourceFields

type ResourceFields struct {
	ID           string        `json:"id"`
	IDWithTags   string        `json:"id_with_tags"`
	ResourceType resource.Type `json:"resource_type"`
}

func (*ResourceFields) GetID

func (r *ResourceFields) GetID() string

func (*ResourceFields) GetIDWithTags

func (r *ResourceFields) GetIDWithTags() string

func (*ResourceFields) GetResourceFields

func (r *ResourceFields) GetResourceFields() *ResourceFields

type Serial added in v0.2.0

type Serial struct {
	Context
	RawColumnSplit *RawColumnsTypeSplit `json:"raw_columns"`
	DataSplit      *DataSplit           `json:"environment_data"`
}

func (Serial) ContextFromSerial added in v0.2.0

func (serial Serial) ContextFromSerial() (*Context, error)

type TrainingDataset

type TrainingDataset struct {
	userconfig.ResourceConfigFields
	*ComputedResourceFields
	ModelName   string `json:"model_name"`
	TrainKey    string `json:"train_key"`
	EvalKey     string `json:"eval_key"`
	MetadataKey string `json:"metadata_key"`
}

func (*TrainingDataset) GetResourceType

func (trainingDataset *TrainingDataset) GetResourceType() resource.Type

type TrainingDatasets

type TrainingDatasets map[string]*TrainingDataset

type TransformedColumn

type TransformedColumn struct {
	*userconfig.TransformedColumn
	*ComputedResourceFields
	Type userconfig.ColumnType `json:"type"`
}

func (*TransformedColumn) Args

func (column *TransformedColumn) Args() map[string]string

Returns map[string]string because after autogen, arg values are constant or aggregate names

func (*TransformedColumn) GetInputRawColumnNames added in v0.2.0

func (column *TransformedColumn) GetInputRawColumnNames() []string

func (*TransformedColumn) GetType

func (column *TransformedColumn) GetType() userconfig.ColumnType

func (*TransformedColumn) InputAggregateNames

func (column *TransformedColumn) InputAggregateNames(ctx *Context) strset.Set

type TransformedColumns

type TransformedColumns map[string]*TransformedColumn

func (TransformedColumns) OneByID

func (columns TransformedColumns) OneByID(id string) *TransformedColumn

type Transformer

type Transformer struct {
	*userconfig.Transformer
	*ResourceFields
	Namespace *string `json:"namespace"`
	ImplKey   string  `json:"impl_key"`
}

type Transformers

type Transformers map[string]*Transformer

func (Transformers) OneByID

func (transformers Transformers) OneByID(id string) *Transformer

type ValueResource

type ValueResource interface {
	Resource
	GetType() interface{}
}

func GetValueResource

func GetValueResource(
	name string,
	constants Constants,
	aggregates Aggregates,
) (ValueResource, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL