Observe o trecho de código abaixo: query = "SELECT * FROM tabela_teste WHERE valor = "+str(str_valor) registros = spark.sql(query) Selecione a opção correta a respeito dele.
Questão
Observe o trecho de código abaixo:
query = "SELECT * FROM tabela_teste WHERE valor = "+str(str_valor) registros = spark.sql(query)
Selecione a opção correta a respeito dele.
Alternativas
A) Trata-se de um exemplo de utilização do Spark SQL
B) A implementação do trecho de código está errada.
C) É possível afirmar que a tabela_teste existe.
D) A execução do trecho de código vai funcionar corretamente.
E) É um exemplo de aplicação de GraphX.
Explicação
Vamos analisar o trecho:
query = "SELECT * FROM tabela_teste WHERE valor = "+str(str_valor)
registros = spark.sql(query)
-
Ele monta uma string contendo um comando SQL (
SELECT * FROM ... WHERE ...). Isso caracteriza uma consulta em SQL. -
Em seguida, chama
spark.sql(query). Esse método pertence aoSparkSessione executa consultas SQL sobre tabelas/visões registradas no catálogo do Spark (Spark SQL), retornando um DataFrame. -
As demais alternativas não podem ser afirmadas com certeza apenas pelo trecho:
- B) Não é necessariamente “errada”: pode falhar dependendo do tipo de
str_valor(por exemplo, se o campovalorfor string no banco/tabela, faltariam aspas) e também há risco de SQL injection, mas isso não torna a afirmação “está errada” sempre verdadeira. - C) Não dá para afirmar que
tabela_testeexiste só por aparecer na query. - D) Não dá para garantir que funcionará corretamente (existência da tabela, tipo de dado, contexto do SparkSession etc.).
- E) Não tem relação com GraphX (que é para grafos e é tipicamente associado à API Scala/Java, não a
spark.sql).
Portanto, a única afirmação certamente correta é que se trata de um uso de Spark SQL.
Alternativa correta: (A).