У меня есть два кадра данных искры. Один из них получен из таблицы улья с использованием HiveContext:
spark_df1 = hc.sql("select * from testdb.titanic_pure_data_test")
Второй кадр данных искры, полученный из файла .csv
:
lines = sc.textFile("hdfs://HDFS-1/home/testdb/1500000_Sales_Records.csv").map(lambda line: line.split(","))
spark_df_test = lines.toDF(['Region','Country','Item_Type','Sales_Channel','Order_Priority','Order_Date','Order_ID','Ship_Date','Units_Sold','Unit_Price','Unit_Cost','Total_Revenue','Total_Cost','Total_Profit'])`
Я хочу сохранить любой фрейм данных в виде таблицы кустов
spark_df1.write.mode("overwrite").format("orc").saveAsTable("testdb.new_res5")
Первый кадр данных сохранен без проблем, но при попытке сохранить второй кадр данных (spark_df_test
) таким же образом, я получил эту ошибку
Файл "/home/jup-user/testdb/scripts/caching.py", строка 90, в
spark_df_test.write.mode ( "перезаписать"). Формат ( "орк"). saveAsTable ( "testdb
. new_res5
")
Файл "/data_disk/opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/spark/python/lib/pyspark.zip/pyspark/sql/readwriter.py", строка 435 , в saveAsTable
Файл "/data_disk/opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py ", линия 1257, в вызов
Файл "/data_disk/opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", строка 51 в деко
pyspark.sql.utils.AnalysisException: 'Указание имени базы данных или других квалификаторов недопустимо для временных таблиц. Если имя таблицы содержит точки (.), Пожалуйста, заключите имя таблицы в кавычки (`).; '