sql >> Databáze >  >> RDS >> Mysql

Vytvořte Spark Dataframe z SQL Query

Našel jsem to zde Hromadná migrace dat přes Spark SQL

Parametr dbname může být jakýkoli dotaz zabalený do závorek s aliasem. Takže v mém případě musím udělat toto:

val query = """
  (select dl.DialogLineID, dlwim.Sequence, wi.WordRootID from Dialog as d
    join DialogLine as dl on dl.DialogID=d.DialogID
    join DialogLineWordInstanceMatch as dlwim on dlwim.DialogLineID=dl.DialogLineID
    join WordInstance as wi on wi.WordInstanceID=dlwim.WordInstanceID
    join WordRoot as wr on wr.WordRootID=wi.WordRootID
    where d.InSite=1 and dl.Active=1
    limit 100) foo
"""

val df = sqlContext.format("jdbc").
  option("url", "jdbc:mysql://localhost:3306/local_content").
  option("driver", "com.mysql.jdbc.Driver").
  option("useUnicode", "true").
  option("continueBatchOnError","true").
  option("useSSL", "false").
  option("user", "root").
  option("password", "").
  option("dbtable",query).
  load()

Jak se očekávalo, načítání každé tabulky jako vlastního datového rámce a jejich připojení ve Sparku bylo velmi neefektivní.



  1. Oracle SQL:Rozumíte chování SYS_GUID(), když je přítomen v inline pohledu?

  2. 3 způsoby, jak odstranit duplicitní řádky na serveru SQL při ignorování primárního klíče

  3. Příkazový řádek exportu tabulky Mysql XML

  4. Zlepšuje cizí klíč výkon dotazů?