Mostrando entradas con la etiqueta comandos. Mostrar todas las entradas
Mostrando entradas con la etiqueta comandos. Mostrar todas las entradas

sábado, 10 de mayo de 2025

GCP: línea de comandos de bigquery

La herramienta de línea de comandos bq es una herramienta de línea de comandos basada en Python para BigQuery.

Nos sirve para ejecutar consultas SQL de BigQuery. Veamos algunos ejemplos de cómo usarlo:

Listar version:

1
$ bq version

Obtener ayuda:

1
$ bq help

Listar datasets, jobs, etc.

1
2
3
$ bq ls
$ bq ls --location=US
$ bq ls --dataset=mydataset

Mostrar información sobre los dataset, jobs, etc.:

1
2
3
$ bq show mydataset
$ bq show mydataset.mytable
$ bq show --job=job_id

Eliminar datasets, tablas, etc.:

1
2
3
$ bq rm mydataset
$ bq rm mydataset.mytable
$ bq rm --job=job_id

Consultar datos de una tabla:

1
$ bq query --nouse_legacy_sql "SELECT name, age FROM mi_dataset.mi_tabla WHERE age > 30 LIMIT 10"

Crear un nuevo dataset:

1
$ bq mk --dataset mi_proyecto:mi_nuevo_dataset

Carga un archivo CSV local a una tabla en BigQuery:

1
$ bq load --source_format=CSV --autodetect mi_dataset.mi_tabla ./datos.csv

Exportar datos a Google Cloud Storage

1
$ bq extract --destination_format=CSV mi_dataset.mi_tabla gs://mi_bucket/salida.csv

Ejecutar un script desde un archivo:

1
$ bq query --nouse_legacy_sql < query.sql

Verificar el estado de un job:

1
$ bq show -j job_id

Para poder usarlo, debes estar autenticado:

1
$ gcloud auth login

Además de haber configurado tu proyecto:

1
$ gcloud config set project mi_proyecto

Aquí un script shell para realizar una consulta:

myshell.sh

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash
gcloud config set project myProject
bq query --use_legacy_sql=false --destination_table=myDataset.myTable \
'SELECT
   word,
   SUM(word_count) AS count
 FROM
   `bigquery-public-data`.samples.shakespeare
 WHERE
   word LIKE "%raisin%"
 GROUP BY
   word'

Dar permisos:

1
$ sudo chmod 777 myshell.sh

Ejecución:

1
$ sh -x myshell.sh

La herramienta de línea de comandos bq de Google BigQuery es muy útil para interactuar con BigQuery desde la terminal.

En próximas entregas ampliaremos los ejemplos de su uso.

Enlaces:

https://medium.com/data-nuggets/11-basic-bigquery-bq-commands-for-data-interaction-59e0d7cee84c
https://stackoverflow.com/questions/76906880/how-to-run-saved-queries-using-bq-command-line-tool
https://cloud.google.com/bigquery/docs/bq-command-line-tool

sábado, 11 de julio de 2020

Scala sobre SBT parte 2



En el anterior post sobre SBT vimos una breve descripción de la herramienta y cómo instalarlo.

Para listar la versión de la herramienta debemos abrir una terminal de comandos y teclear:
$ sbt -version

Mostrará algo como esto:
sbt version in this project: 1.3.4
sbt script version: 1.3.4


Creando un proyecto con SBT.
  1. Crear directorio.
  2. Ubicarnos en directorio creado y crear subdirectorio.
  3. Crear archivo build.sbt
  4. Escribir el código.
  5. Compilar y ejecutar.
$ mkdir testSbt
$ cd testSbt
$ mkdir sbt-ejemplo
$ cd sbt-ejemplo


Una vez en el directorio sbt-ejemplo, creamos el archivo build.sbt con cualquier editor de textos.

Ahora creamos el programa.

Hola.scala

package main

object Hola{

   def main(args: Array[String]):Unit{
       println("Hola, mundo desde Codemonkey Junior")
   }

}


Para compilar y ejecutar el programa tecleamos:
$ sbt

 >compile
 >run


Si no hay ningún error, mostrará el mensaje:
"Hola, mundo desde Codemonkey Junior"


Links:
https://emanuelpeg.blogspot.com/2020/05/libro-gratuito-de-scala.html
https://www.scala-sbt.org/
http://www.scala-js.org/
https://sdkman.io




sábado, 16 de noviembre de 2013

Scala ... ejemplos sencillos no. 3

Más ejemplos de código en Scala

1. Ejecutar un comando (Linux) desde una aplicación en Scala (Ejecuta.scala)

import scala.sys.process._

object Ejecuta extends App{
    "ls -la"!
}

Este código nos mostrara el contenido del directorio en el que estemos.

2. Guardar el resultado de la ejecución de un comando (Guarda.scala)
//"esto es un comentario en Scala"
import scala.sys.process._

object Guarda extends App{
   val comando:String="ls -la"
  val res=comando!!
 
  Console.print("resultado: "+res.toString)
}

Guardamos el resultado del comando en la variable "res" y visualizamos su contenido.


3. Uso de package en Scala (Paquete.scala)

object Paquete extends App{
     val  hombre=new bunbury.calamaro.loquillo
     hombre.ver


package bunbury{
       package calamaro{
         package loquillo{
           class HombreDeNegro{
               private var nombre:String="Hugo"
               def ver(){
                Console.println("hola "+nombre);
            }
        }//fin HombreDeNegro
       }//fin loquillo
  }//fin calamaro
}//fin bunbury


4. Uso de if - else  (Elegir.scala)

object Elegir extends App{
   val cadena=if (3==6) "Es correcto" else "Es incorrecto"
    Console.print(cad) // imprime "Es incorrecto"


    val resultado={
    if(3==8)
      "Esto no se vera"

    else
      "Esto si se vera"
   }

   Console.println(resultado);
}





5. Ver propiedades del sistema (Sistema.scala)

object Sistema extends App{

val obj=new InfoCompu()

println("Nombre del PC: " + obj.nombrePC());
println("Nombre usuario: " + obj.usuario());
println("Procesador: " + obj.procesador());
println("Sistema operativo: " + obj.SO());
println("Version JDK: " + obj.JDK());
println("Directorio actual: " + obj.dir());

}

class InfoCompu{

def nombrePC():String={
  System.getenv("COMPUTERNAME");
}

def usuario():String={
 System.getProperty("user.name");
}

def procesador():String={
 System.getenv("PROCESSOR_IDENTIFIER");
}

def SO():String={
 System.getProperty("os.name");
}

def JDK():String={
 System.getProperty("java.version");
}

def dir():String={
 System.getProperty("user.dir");
}

}


Jai un lenguaje de programación inspirado en C++

Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...

Etiquetas

Archivo del blog