Los esquemas permiten clasificar las tablas, los recursos y las funciones de un proyecto de MaxCompute en espacios de nombres más específicos. Esto le otorga un control más granular sobre la organización de los datos y el acceso dentro de un mismo proyecto.
Funcionamiento de los esquemas
En MaxCompute, el esquema se ubica entre el proyecto y sus objetos. La jerarquía de objetos es: proyecto → esquema → tablas/recursos/funciones.
Una vez que habilite la función de esquemas, todos los objetos accesibles para un objeto de entrada de MaxCompute se colocan en el esquema llamado DEFAULT. Para trabajar con objetos de otro esquema, especifique el esquema de destino cuando inicialice el objeto de entrada o cuando llame a un método de operación.
Requisitos previos
Antes de empezar, asegúrese de haber cumplido con lo siguiente:
Habilitó la función de esquemas en su proyecto de MaxCompute. Para obtener más información, consulte Operaciones relacionadas con esquemas.
-
Configuró un entorno de ejecución. PyODPS se ejecuta en un nodo de PyODPS dentro de DataWorks o en una computadora local:
DataWorks: Cree un nodo PyODPS 2 o un nodo PyODPS 3. Para obtener más información, consulte Use PyODPS in DataWorks.
Computadora local: Instale PyODPS e inicialice el objeto de entrada de MaxCompute.
Crear un esquema
schema = o.create_schema("schema_name")
print(schema)
Eliminar un esquema
schema = o.delete_schema("schema_name")
Listar esquemas
Para listar todos los esquemas del proyecto actual:
for schema in o.list_schemas():
print(schema)
Trabajar con objetos en un esquema específico
Inicializar el objeto de entrada para un esquema
Para operar con objetos de un esquema distinto de DEFAULT, pase el parámetro schema al inicializar el objeto de entrada ODPS.
import os
from odps import ODPS
# Store your credentials in environment variables — do not hardcode AccessKey ID or AccessKey Secret.
o = ODPS(
os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
project='<your-default-project>',
endpoint='<your-end-point>',
schema='<your-schema-name>',
)
Reemplace los siguientes marcadores de posición con sus valores reales:
|
Placeholder |
Description |
|
|
El nombre de su proyecto de MaxCompute. |
|
|
El endpoint de su proyecto de MaxCompute, determinado por la región y el método de conexión de red que seleccionó. Para obtener más información, consulte Endpoints. Un endpoint no válido genera un error al acceder a MaxCompute. |
|
|
El nombre del esquema. |
Especificar un esquema para operaciones individuales
Pase schema directamente a los métodos de operación para apuntar a un esquema específico sin necesidad de volver a vincular el objeto de entrada.
# List all tables in test_schema.
for table in o.list_tables(schema='schema_name'):
print(table)
Especificar un esquema predeterminado para sentencias SQL
Pase default_schema a execute_sql para establecer el contexto de esquema de una sola sentencia SQL.
o.execute_sql("SELECT * FROM dual", default_schema="schema_name")