rikai.spark.sql package¶
Subpackages¶
- rikai.spark.sql.codegen package
- Submodules
- rikai.spark.sql.codegen.base module
- rikai.spark.sql.codegen.dummy module
- rikai.spark.sql.codegen.fs module
- rikai.spark.sql.codegen.mlflow_logger module
- rikai.spark.sql.codegen.mlflow_registry module
- rikai.spark.sql.codegen.pytorch module
- rikai.spark.sql.codegen.sklearn module
- rikai.spark.sql.codegen.tensorflow module
- rikai.spark.sql.codegen.testing module
- Module contents
- rikai.spark.sql.generated package
- Submodules
- rikai.spark.sql.generated.RikaiModelSchemaLexer module
RikaiModelSchemaLexerRikaiModelSchemaLexer.ARRAYRikaiModelSchemaLexer.IDENTIFIERRikaiModelSchemaLexer.STRUCTRikaiModelSchemaLexer.T__0RikaiModelSchemaLexer.T__1RikaiModelSchemaLexer.T__2RikaiModelSchemaLexer.T__3RikaiModelSchemaLexer.WSRikaiModelSchemaLexer.atnRikaiModelSchemaLexer.channelNamesRikaiModelSchemaLexer.decisionsToDFARikaiModelSchemaLexer.grammarFileNameRikaiModelSchemaLexer.literalNamesRikaiModelSchemaLexer.modeNamesRikaiModelSchemaLexer.ruleNamesRikaiModelSchemaLexer.symbolicNames
serializedATN()
- rikai.spark.sql.generated.RikaiModelSchemaParser module
RikaiModelSchemaParserRikaiModelSchemaParser.ARRAYRikaiModelSchemaParser.ArrayContextRikaiModelSchemaParser.ArrayTypeContextRikaiModelSchemaParser.EOFRikaiModelSchemaParser.FieldContextRikaiModelSchemaParser.FieldTypeContextRikaiModelSchemaParser.IDENTIFIERRikaiModelSchemaParser.IdentifierContextRikaiModelSchemaParser.NestedArrayTypeContextRikaiModelSchemaParser.NestedStructTypeContextRikaiModelSchemaParser.PlainFieldTypeContextRikaiModelSchemaParser.RULE_arrayRikaiModelSchemaParser.RULE_fieldRikaiModelSchemaParser.RULE_fieldTypeRikaiModelSchemaParser.RULE_identifierRikaiModelSchemaParser.RULE_schemaRikaiModelSchemaParser.RULE_structRikaiModelSchemaParser.STRUCTRikaiModelSchemaParser.SchemaContextRikaiModelSchemaParser.StructContextRikaiModelSchemaParser.StructFieldContextRikaiModelSchemaParser.StructTypeContextRikaiModelSchemaParser.T__0RikaiModelSchemaParser.T__1RikaiModelSchemaParser.T__2RikaiModelSchemaParser.T__3RikaiModelSchemaParser.UnquotedIdentifierContextRikaiModelSchemaParser.WSRikaiModelSchemaParser.array()RikaiModelSchemaParser.atnRikaiModelSchemaParser.buildParseTreesRikaiModelSchemaParser.decisionsToDFARikaiModelSchemaParser.field()RikaiModelSchemaParser.fieldType()RikaiModelSchemaParser.grammarFileNameRikaiModelSchemaParser.identifier()RikaiModelSchemaParser.literalNamesRikaiModelSchemaParser.ruleNamesRikaiModelSchemaParser.schema()RikaiModelSchemaParser.sharedContextCacheRikaiModelSchemaParser.struct()RikaiModelSchemaParser.symbolicNames
serializedATN()
- rikai.spark.sql.generated.RikaiModelSchemaVisitor module
RikaiModelSchemaVisitorRikaiModelSchemaVisitor.visitArrayType()RikaiModelSchemaVisitor.visitNestedArrayType()RikaiModelSchemaVisitor.visitNestedStructType()RikaiModelSchemaVisitor.visitPlainFieldType()RikaiModelSchemaVisitor.visitSchema()RikaiModelSchemaVisitor.visitStructField()RikaiModelSchemaVisitor.visitStructType()RikaiModelSchemaVisitor.visitUnquotedIdentifier()
- Module contents
Submodules¶
rikai.spark.sql.exceptions module¶
rikai.spark.sql.model module¶
- class rikai.spark.sql.model.ModelSpec(spec: Dict[str, Any], validate: bool = True)¶
Bases:
ABCModel Spec Payload
- Parameters
- validate(schema={'properties': {'model': {'description': 'model description', 'properties': {'flavor': {'type': 'string'}, 'type': {'type': 'string'}, 'uri': {'type': 'string'}}, 'required': ['uri'], 'type': 'object'}, 'name': {'description': 'Model name', 'type': 'string'}, 'schema': {'type': 'string'}, 'version': {'description': 'Model SPEC format version', 'type': 'string'}}, 'required': ['version', 'model'], 'type': 'object'})¶
Validate model spec
- Raises
SpecError – If the spec is not well-formatted.
- class rikai.spark.sql.model.ModelType¶
Bases:
ABCBase-class for a Model Type.
A Model Type defines the functionalities which is required to run an arbitrary ML models in SQL ML, including:
Result schema:
schema().transform(), pre-processing routine.predict(), inference AND post-processing routine.
- dataType() pyspark.sql.types.DataType¶
Returns schema as
pyspark.sql.types.DataType.
- abstract predict(*args, **kwargs) Any¶
Run model inference and convert return types into Rikai-compatible types.
- release()¶
Release underneath resources if applicable.
It will be called after a model runner finishes a partition in Spark.
rikai.spark.sql.schema module¶
- class rikai.spark.sql.schema.SparkDataTypeVisitor¶
Bases:
RikaiModelSchemaVisitor- visitArrayType(ctx: ArrayTypeContext) ArrayType¶
- visitPlainFieldType(ctx: PlainFieldTypeContext) DataType¶
- visitStructField(ctx: StructFieldContext) StructField¶
- visitStructType(ctx: StructTypeContext) StructType¶
- visitUnquotedIdentifier(ctx: UnquotedIdentifierContext) str¶
- rikai.spark.sql.schema.parse_schema(schema_str: str, visitor: ~rikai.spark.sql.generated.RikaiModelSchemaVisitor.RikaiModelSchemaVisitor = <rikai.spark.sql.schema.SparkDataTypeVisitor object>)¶
Parse schema and returns the data type for the runtime