Apache Spark JDBC SQL-инъекция (pyspark)

Snazzy Jazz спросил: 14 ноября 2017 в 06:28 в: python

Я пытаюсь отправить запрос sql в jdbc, будучи защищенным от атак внедрения SQL. У меня есть некоторый код, такой как

from pyspark import SparkContext
from pyspark.sql import DataFrameReader, SQLContext
from pyspark.sql.functions import col
url = 'jdbc:mysql://.../....'
properties = {'user': '', 'driver': 'com.mysql.jdbc.Driver', 'password': ''}
sc = SparkContext("local[*]", "name")
sqlContext = SQLContext(sc)
from pyspark.sql.functions import desc
pushdown_query = """(
    select * from my_table 
    where timestamp > {}
) AS tmp""".format(my_date)
df = sqlContext.read.jdbc(url=url, properties=properties, table=pushdown_query)

Могу ли я как-то использовать параметры связывания?

Любое решение, предотвращающее внедрение SQL-кода, будет работать.

Я также использую SQLAlchemy, если это поможет.

0 ответов