Эта проблема может быть двоякой, если вы захотите сделать то, что @Tanjin предложил в комментариях, и это может сработать впоследствии (попробуйте добавить .config("spark.sql.catalogImplementation","hive")
к вашему SparkSession.builder
), но если вы действительно хотите использовать существующий улей экземпляр с собственными метаданными, которые вы сможете запрашивать за пределами вашей работы. Или вы уже можете использовать существующие таблицы, которые хотите добавить в конфигурацию hive-site.xml.
Этот файл конфигурации содержит некоторые свойства, которые вы, вероятно, захотите, например hive.metastore.uris, который позволит вашему контексту добавить новую таблицу, которая будет сохранена в хранилище. И он сможет читать из таблиц в вашем экземпляре улья благодаря metastore, который содержит таблицы и местоположения.
File.open("a_file", "w") do |f|
f.write "some data"
end
можно также использовать f << "some data"
или f.puts "some data"
согласно персональному вкусу/необходимости, чтобы иметь новые строки. Изменитесь "w"
на "a"
, если Вы хотите добавить в файл вместо того, чтобы усечь с каждым, открываются.
Вне File.new или File.open (и все другие забавные IO материал) можно пожелать, особенно если Вы сохраняете от и загружаетесь назад в Ruby, и Ваши данные находятся в объектах, для рассмотрения использования Маршал , чтобы сохранить и загрузить объекты непосредственно.
Используя File::open лучший способ пойти:
File.open("/path/to/file", "w") do |file|
file.puts "Hello file!"
end
, Как ранее указано, можно использовать "a" вместо "w" для добавления в файл. Пусть другие режимы будут быть доступными, перечисляться под ri IO
, или в Ruby Quickref .
filey = File.new("/path/to/the/file", APPEND)
filey.puts "stuff to write"