Trabajo con bloc de notas
Oracle Big Data Service utiliza la aplicación de bloc de notas Big Data Studio como su interfaz de blocs de notas y entorno de codificación.
Creación de un bloc de notas
Puede realizar muchas acciones en un bloc de notas. Para obtener información sobre algunas de ellas, consulte Visión general de la interfaz de usuario de los blocs de notas.
Después de crear un bloc de notas, puede crear párrafos en el mismo. Consulte Creación de párrafos.Visión general de la interfaz de usuario de los blocs de notas
A continuación, se muestran algunos de los elementos de pantalla más comunes que verá al trabajar en un bloc de notas. Mueva el ratón sobre los iconos de la interfaz de usuario para ver sus funciones.
Icono | Descripción |
---|---|
Modificar bloc de notas |
Modifica los detalles de un bloc de notas, como el nombre, la descripción y las etiquetas. |
Ejecutar párrafos |
Ejecuta todos los párrafos de un bloc de notas en orden secuencial. |
Invalidar sesión |
Restablece cualquier conexión o código que se ejecute en un bloc de notas. |
Suprimir bloc de notas |
Suprime un bloc de notas. |
Ocultar/mostrar código |
Oculta o muestra la sección de código de todos los párrafos de un bloc de notas. |
Ocultar/mostrar resultado |
Oculta o muestra la sección de resultados de todos los párrafos de un bloc de notas. |
Solo lectura/escritura |
Establece el bloc de notas en el modo de solo lectura o escritura. |
Ocultar/mostrar panel |
Muestra u oculta los comandos de la barra de configuración de párrafo, la barra de herramientas de resultados y el cuadro de diálogo de configuración de un párrafo seleccionado en un panel situado a la derecha del bloc de notas. |
Control de versiones |
Crea una versión de un bloc de notas o muestra las versiones. |
Borrar resultado |
Borra los resultados de todos los párrafos de un bloc de notas. |
Borrar dependencias de párrafo |
Elimina todas las dependencias de párrafo definidas. |
Abrir como Iframe |
Abre un bloc de notas en un Iframe. Esto permite incrustar un bloc de notas en otra página web. |
Compartir bloc de notas |
Comparte un bloc de notas. |
Clonar bloc de notas |
Crea una copia de un bloc de notas. |
Exportar bloc de notas |
Exporta un bloc de notas a su computadora como archivo |
Zeppelin/Jupyter |
Define el diseño preferido de un bloc de notas (formato de diseño Zeppelin o Jupyter). |
Plantilla por defecto/otra plantilla |
Aplica el aspecto general del bloc de notas utilizando la plantilla por defecto u otra plantilla. |
Importar bloc de notas
Puede importar blocs de notas desde su computadora local a la aplicación de bloc de notas Big Data Studio. Esto incluye los blocs de notas Jupyter.
- Acceda a la aplicación de bloc de notas. Consulte Acceso a Big Data Studio.
- En la página Blocs de notas, haga clic en el icono Importar blocs de notas en la parte superior derecha.
-
Arrastre y suelte o busque el bloc de notas que desea importar. Las extensiones de archivo válidas son
.json
,.dsnb
y.ipynb
. - Haga clic en Importar
Búsqueda de un bloc de notas
Puede buscar los blocs de notas por título, descripción o etiqueta.
- Acceda a la aplicación de bloc de notas. Consulte Acceso a Big Data Studio.
- En la página Blocs de notas, introduzca texto en el cuadro de búsqueda o haga clic en una etiqueta. Al hacer clic en una etiqueta, se muestran todos los blocs de notas con esa etiqueta.
Clonación de un bloc de notas
Al clonar un bloc de notas, se hace una copia del mismo.
Intérpretes soportados
La aplicación de bloc de notas Big Data Studio proporciona intérpretes que ejecutan código en diferentes idiomas. Se soportan los intérpretes que se muestran a continuación.
Cada intérprete tiene un conjunto de propiedades que un administrador puede personalizar y aplicar en todos los blocs de notas. Consulte Configuración de intérpretes.
Inicie un párrafo con %intérprete
como se muestra a continuación y, a continuación, codifique el párrafo con la sintaxis correspondiente.
Los intérpretes de Spark y PySpark soportan el modo cliente de YARN. La ejecución de los intérpretes en modo cliente de YARN implica que Big Data Studio inicia un controlador de Spark y los comandos de la aplicación Spark se envían a los gestores de nodos de YARN para que los ejecuten. De esta manera, YARN gestiona la memoria en lugar del nodo del cluster.
Tipo | Intérprete | Uso |
---|---|---|
graalvm |
|
Especifique el tipo de lenguaje como se muestra a continuación y utilice la sintaxis de dicho lenguaje. %python-graalvm %js-graalvm %java-graalvm %ruby-graalvm |
jdbc (por defecto) |
|
Los valores de la base de datos se deben configurar correctamente. Los administradores deben visitar Intérpretes > jdbc > jdbc (por defecto) en la interfaz de usuario web de Big Data Studio y verificar o configurar los siguientes valores:
|
jdbc (Cloud SQL) |
|
Para utilizar este intérprete, debe agregar Cloud SQL al cluster. Consulte Adición de Cloud SQL. Cloud SQL permite utilizar SQL para consultar los orígenes de datos de Big Data. Consulte Uso de Cloud SQL con Big Data. Los administradores también deben cambiar la contraseña por defecto que se utiliza con el intérprete:
|
jdbc (Hive) |
|
En los clusters no seguros, no es necesario realizar ninguna configuración adicional. En los clusters seguros, se debe agregar el usuario |
md (markdown) |
|
|
pyspark |
|
|
python |
|
Los administradores del cluster pueden instalar otros paquetes de Python en el host del cluster. Utilice SSH para conectarse al cluster y, a continuación, utilice pip para instalar paquetes de Python. Cuando se instalan paquetes y las nuevas bibliotecas se encuentran en una de las siguientes ubicaciones, dichas bibliotecas estarán disponibles para la ruta de búsqueda del módulo del intérprete de Python en el bloc de notas. /usr/bin /usr/lib /usr/lib64 |
rserveinterpreter |
|
Los administradores del cluster pueden instalar otros paquetes de R en el host del cluster. Utilice SSH para conectarse al cluster y, a continuación, utilice R CMD [options] package_name.tar.gz R install.packages(url_for_packages, NULL) Cuando se instalan paquetes, las nuevas bibliotecas se encuentran en |
spark |
|
|
Creación de párrafos
Los párrafos se utilizan en los blocs de notas para explorar interactivamente los datos. Los párrafos contienen código ejecutable que devuelve resultados en muchos formatos diferentes.
Puede utilizar diferentes intérpretes en el mismo bloc de notas. Los ajustes de los intérpretes los puede configurar un administrador. Consulte Configuración de intérpretes.
Para crear un párrafo:
Para obtener información sobre algunas de las acciones que puede realizar en los párrafos, consulte Visión general de la interfaz de usuario de los párrafos.
Visión general de la interfaz de usuario de los párrafos
A continuación, se muestran algunos de los elementos de pantalla más comunes que verá al trabajar con párrafos. Mueva el ratón sobre los iconos de la interfaz de usuario para ver sus funciones.
Icono | Descripción |
---|---|
Ejecutar párrafo |
Ejecuta el código o la consulta de un párrafo. |
Acceder al modo de dependencias |
Agrega o suprime párrafos dependientes. |
Comentarios |
Agrega comentarios a un párrafo. |
Ampliar/reducir |
Amplía un párrafo y lo muestra en modo de pantalla completa o reduce la vista. |
Mostrar/ocultar números de línea |
Muestra u oculta los números de línea en el código de un párrafo (solo se aplica a la sección de código). |
Visibilidad |
Gestiona la configuración de visibilidad de un párrafo. Esto controla cómo el autor y otros usuarios que tienen acceso al bloc de notas pueden ver un párrafo. |
Configuración |
Proporciona una serie de acciones. Utilícelo para:
|
Acceso a HDFS desde Spark y PySpark
Para acceder a HDFS en un bloc de notas y leer y escribir en HDFS, debe otorgar acceso a sus carpetas y archivos al usuario con el que la aplicación de bloc de notas Big Data Studio accederá a HDFS.
Cuando Big Data Studio accede a HDFS (y otros servicios de cluster de Hadoop), se utilizan estos usuarios:
-
interpreteruser
es el usuario y el grupo que se utilizan con los clusters no seguros. -
datastudio
es el usuario y el grupo que se utilizan con los clusters seguros (habilitados para Kerberos).
Tenga en cuenta que estos usuarios no son los que se utilizan para acceder a la interfaz de usuario web de Big Data Studio.
En un cluster seguro, debe obtener un ticket de Kerberos para el usuario antes de ejecutar cualquier comando hdfs
. Por ejemplo, para ejecutar el comando kinit oracle
para el usuario oracle
.
Puede otorgar acceso de lectura y escritura a carpetas de HDFS. También puede eliminar ese acceso.
Puede otorgar acceso de lectura a archivos de HDFS específicos. También puede eliminar ese acceso.
Los ejemplos siguientes muestran cómo utilizar PySpark con HDFS. Necesita acceso a HDFS, tal y como se describe en los temas anteriores. Asegúrese de utilizar el intérprete %pyspark
.
Obtención de una sesión de Spark
Necesita una sesión de Spark para trabajar con HDFS.
%pyspark from pyspark.sql import SparkSession sparkSession = SparkSession.builder.appName("SparkSessionName").getOrCreate()
Leer en HDFS
Para leer con SparkSession
:
%pyspark df_load = sparkSession.read.csv('/hdfs/full/path/to/folder') df_load.show()
Escribir en HDFS
Utilice un marco de datos para escribir en HDFS. Para escribir con SparkSession
:
%pyspark data = [('One', 1), ('Two', 2), ('Three', 3)] # Create DataFrame df = sparkSession.createDataFrame(data) # Write into HDFS df.write.mode("overwrite").csv("/hdfs/full/path/to/folder") # /hdfs/full/path/to/folder is created when dfs.write is executed
df.write.mode
especifican el comportamiento de la operación de guardado cuando ya existen datos:-
append:
agrega el contenido de este marco de datos a los datos existentes. -
overwrite:
sobrescribe los datos existentes. -
ignore:
ignora esta operación si ya existen datos. -
error
oerrorifexists
: devuelve una excepción si ya existen datos.
Ejemplo 1: escritura en un directorio
En este ejemplo, se escribe en un directorio /tmp
al que todos los usuarios de HDFS tienen acceso.
%pyspark from pyspark.sql import SparkSession sparkSession = SparkSession.builder.appName("pyspark-write").getOrCreate() # Create data data = [('One', 1), ('Two', 2), ('Three', 3), ('Four', 4), ('Five', 5)] df = sparkSession.createDataFrame(data) # Write into HDFS df.write.mode("overwrite").csv("/tmp/testpysparkcsv")
Ejemplo 2: lectura de la información
En este ejemplo se lee la información del directorio /tmp/testpysparkcsv
creado en el ejemplo anterior.
%pyspark from pyspark.sql import SparkSession sparkSession = SparkSession.builder.appName("pyspark-read").getOrCreate() # Read from HDFS df_load = sparkSession.read.csv('/tmp/testpysparkcsv') df_load.show()
Acceso a Hive desde Spark y PySpark
Para acceder a Hive en un bloc de notas y leer y escribir en Hive, debe otorgar acceso a sus carpetas y archivos al usuario con el que la aplicación de bloc de notas Big Data Studio accederá a Hive.
Cuando Big Data Studio accede a Hive, se utilizan estos usuarios:
-
interpreteruser
es el usuario y el grupo que se utilizan con los clusters no seguros. -
datastudio
es el usuario y el grupo que se utilizan con los clusters seguros (habilitados para Kerberos).
Tenga en cuenta que estos usuarios no son los que se utilizan para acceder a la interfaz de usuario web de Big Data Studio.
Puede permitir que Big Data Studio acceda a todas las tablas de Hive al agregar el usuario datastudio
al grupo de administración hive
. El usuario que realice estos pasos debe conectarse a un nodo del cluster como usuario root
.
En clusters seguros de CDH, se puede otorgar al grupo y al usuario
datastudio
un acceso más detallado a tablas específicas mediante la creación y el uso de roles de Sentry. Para obtener más información, consulte Hive SQL Syntax for Use with Sentry (Sintaxis de Hive SQL para utilizar con Sentry) en la documentación de Cloudera.Para otorgar acceso a tablas de Hive:
Para eliminar el acceso a Hive, elimine al usuario del grupo que tiene acceso. En este ejemplo, el grupo es hive
.
Clusters no seguros:
dcli -C gpasswd -d interpreteruser hive
Clusters seguros:
dcli -C gpasswd -d datastudio hive
Los ejemplos siguientes muestran cómo utilizar PySpark con Hive. Necesita acceso a Hive, tal y como se describe en los temas anteriores. Asegúrese de utilizar el intérprete %pyspark
.
Uso de spark.sql
para trabajar con Hive
Utilice spark.sql
para trabajar con Hive. Llamada de función spark.sql
:
%pyspark # Run the SQL instruction in quiet mode spark.sql("SQL instruction") # Show some output spark.sql("SQL instruction").show()
Ejemplo de instrucciones SQL que no muestran información:
%pyspark spark.sql ("DROP TABLE IF EXISTS hive_table") spark.sql("CREATE TABLE IF NOT EXISTS hive_table (number int, Ordinal_Number string, Cardinal_Number string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ") spark.sql("load data inpath '/tmp/pysparktestfile.csv' into table pyspark_numbers_from_file") spark.sql("insert into table pyspark_numbers_from_file2 select * from pyspark_numbers_from_file") spark.sql("CREATE TABLE IF NOT EXISTS pyspark_numbers (number int, Ordinal_Number string, Cardinal_Number string) USING com.databricks.spark.csv OPTIONS \ (path \"/full/path/hdfs/dataframe/folder\", header \"false\")")
Ejemplo de instrucciones SQL que muestran información:
%pyspark spark.sql("show databases").show() spark.sql("show tables").show() spark.sql("describe hive_table ").show() spark.sql("select * hive_Table limit 5").show()
Ejemplo 1: creación de una tabla
%pyspark spark.sql("CREATE TABLE IF NOT EXISTS pyspark_test_table ( eid int, name String, salary String, destination String)") spark.sql("describe pyspark_test_table ").show()
Ejemplo 2: eliminación de una tabla
%pyspark spark.sql ("DROP TABLE IF EXISTS pyspark_test_table")
Ejemplo 3: creación de un archivo con 9000 filas
%pyspark from pyspark.sql import SparkSession import re single_digit = ["","one", "two", "three" , "four" , "five" , "six" , "seven" , "eight" , "nine"] ten_to_nineteen =["ten","eleven","twelve","thirteen" ,"fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"] two_digits =["","","twenty","thirty","fourty","fithy","sixty","seventy","eighty","ninety"] ten_power = ["hundred","thousand"] data = [] def cardinalNum(number): if len (str(number)) == 1 : return single_digit[number] elif len (str(number)) == 2 : if str(number)[0] == "1" : return ten_to_nineteen[int(str(number)[1])] else: return two_digits[int(str(number)[0])] + " " + single_digit[int(str(number)[1])] elif len (str(number)) == 3 : return single_digit[int(str(number)[0])] + " " + ten_power[0] + " " + cardinalNum(int(str(number)[1:3])) elif len (str(number)) == 4 : return cardinalNum(int(str(number)[0:1])) + " " + ten_power[1] + " " + cardinalNum(int(str(number)[1:4])) else: return str(number) def ordinalNum(number): if re.match(".*1[0-9]$", str(number)): return(str(number) + 'th') elif re.match(".*[04-9]$", str(number)): return(str(number) + 'th') elif re.match(".*1$", str(number)): return(str(number) + 'st') elif re.match(".*2$", str(number)): return(str(number) + 'nd') elif re.match(".*3$", str(number)): return(str(number) + 'rd') else: return(str(number)) sparkSession = SparkSession.builder.appName("pyspark-write").getOrCreate() # Create data for number in range(1, 9001): tmpdata=[ (number) ,( ordinalNum(number)) ,(cardinalNum(number))] data.append(tmpdata) #print ( str(number) + ',' + ordinalNum(number) + ',' + cardinalNum(number)) df = sparkSession.createDataFrame(data) # Write into HDFS df.write.mode("overwrite").csv("/tmp/testpyspark")
Ejemplo 4: carga desde la carpeta del marco de datos
%pyspark spark.sql("CREATE TABLE IF NOT EXISTS pyspark_numbers (number int, Ordinal_Number string, Cardinal_Number string) USING com.databricks.spark.csv OPTIONS \ (path \"/tmp/testpyspark\", header \"false\")") spark.sql ("describe pyspark_numbers").show() spark.sql ("select * from pyspark_numbers").show() spark.sql("select count(*) from pyspark_numbers").show()
Ejemplo 5: carga desde un archivo .csv
%pyspark spark.sql("CREATE TABLE IF NOT EXISTS pyspark_numbers_from_file (number int, Ordinal_Number string, Cardinal_Number string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' ") spark.sql("load data inpath '/tmp/pysparktestfile.csv' into table pyspark_numbers_from_file")
Para crear el archivo pysparktestfile.csv
, copie el archivo generado en el ejemplo 3 anterior, por ejemplo:
# Command listing files hdfs dfs -ls /tmp/testpyspark/ # Output listing files Found 2 items -rw-r--r-- 3 datastudio supergroup 0 2020-08-21 16:50 /tmp/testpyspark/_SUCCESS -rw-r--r-- 3 datastudio supergroup 416250 2020-08-21 16:50 /tmp/testpyspark/part-00000-5bf7c92a-e2ad-4f79-802e-c84c0c3b4cc0-c000.csv # Command copying file hdfs dfs -cp -p /tmp/testpyspark/part-00000-5bf7c92a-e2ad-4f79-802e-c84c0c3b4cc0-c000.csv /tmp/pysparktestfile.csv
Ejemplo 6: inserción de una tabla a otra
%pyspark spark.sql("CREATE TABLE IF NOT EXISTS pyspark_numbers_new (number int, Ordinal_Number string, Cardinal_Number string) ") spark.sql("insert into table pyspark_numbers_new select * from pyspark_numbers_from_file") spark.sql("select * from pyspark_numbers_new").show() spark.sql("select count(*) from pyspark_numbers_new").show() spark.sql("select count(*) from pyspark_numbers_from_file").show()
Creación de versiones de un bloc de notas
Puede crear una versión de un bloc de notas, que sirve como una instantánea del bloc de notas de cuando se creó la versión.
- Acceda a la aplicación de bloc de notas. Consulte Acceso a Big Data Studio.
- Desde la página Blocs de notas, abra el bloc de notas que desea versionar.
- Haga clic en Control de versiones en la parte superior izquierda.
- Seleccione Crear versión para crear una nueva versión del bloc de notas o Ver historial de versiones para ver y acceder a las versiones que ya se han creado.
Exportación de un bloc de notas
Puede exportar blocs de notas desde la aplicación de bloc de notas Big Data Studio a su computadora local. Esto incluye los blocs de notas Jupyter.
- Acceda a la aplicación de bloc de notas. Consulte Acceso a Big Data Studio.
- En la página Blocs de notas, haga clic en el icono Seleccionar blocs de notas.
- Seleccione el bloc de notas que desea exportar.
- Haga clic en el icono Exportar blocs de notas en la parte superior derecha.
-
Cambie la configuración si lo desea y, a continuación, haga clic en Exportar. El archivo se exportará como un archivo
.dsnb
. - Seleccione entre las opciones de exportación que se muestran y, a continuación, haga clic en Aceptar para continuar con la exportación.
Supresión de un bloc de notas
Puede suprimir los blocs de notas para los que tenga permisos de supresión.
- Acceda a la aplicación de bloc de notas. Consulte Acceso a Big Data Studio.
- En la página Blocs de notas, haga clic en el icono Seleccionar blocs de notas.
- Seleccione el bloc de notas que desea suprimir.
- Haga clic en el icono Suprimir blocs de notas en la parte superior derecha y, a continuación, en Suprimir para confirmar la acción.
También puede suprimir un bloc de notas abriéndolo y haciendo clic en el icono Suprimir bloc de notas en la parte superior.
Accesos directos de teclado para los blocs de notas
Puede utilizar accesos directos de teclado para realizar determinadas acciones, como seleccionar párrafos y clonar y exportar blocs de notas.
Para ver una lista de los métodos abreviados disponibles, abra un bloc de notas, haga clic en su nombre de usuario en la parte superior derecha y seleccione Métodos abreviados de teclado en el menú. Puede abrir una visión general de todos los accesos directos o buscarlos. Si está en una página que no tiene métodos abreviados, no verá la opción Métodos abreviados de teclado.
También puede buscar los accesos directos pulsando ctrl+shift+f
.