草庐IT

spark-hive

全部标签

hadoop - 通过 spark job 创建 hive 表

我正在尝试在hadoop集群(BigInsight4.1发行版)上创建hive表作为我的spark(1.5.1版)作业的输出,但我面临权限问题。我的猜测是spark使用默认用户(在本例中为“yarn”而不是作业提交者的用户名)来创建表,因此未能这样做。我尝试自定义hive-site.xml文件以设置一个经过身份验证的用户,该用户有权创建配置单元表,但这没有用。我还尝试将Hadoop用户变量设置为经过身份验证的用户,但它也没有用。我想避免保存txt文件然后创建配置单元表以优化性能并通过orc压缩减小输出的大小。我的问题是:有什么方法可以调用sparkdataframeapi的write函

performance - Spark 。数据缓存?

我正在spark-shell中测试以下脚本-分区表的单分区扫描。vals=System.nanoTimevarq=s"""select*frompartitioned_tablewherepart_column='part_column_value'"""spark.sql(q).showprintln("Elapsed:"+(System.nanoTime-s)/1e9+"seconds")第一次执行大约需要30秒,而所有后续执行大约需要2秒。如果我们看一下运行时统计信息——在第一次执行之前还有两个额外的作业看起来有1212个阶段的作业扫描表中的所有分区(分区总数1199,该表的HD

hadoop - 将数据从 HDFS 加载到 Hive 时出现问题

场景1:在配置单元中创建表时提供​​自定义位置,然后使用“从本地复制”命令加载数据。下面的过程是直接将数据加载到我的表中。但是当我使用默认位置使用“从本地复制”命令加载数据时,方案2不起作用。因为它执行时没有任何错误,但没有加载我的表。场景1命令的链接---Scenario1Commands--这是将数据加载到表中。Scenario2Commands--将场景1的位置路径替换为默认配置单元路径--但未加载数据。 最佳答案 使用下面的命令找到文件需要复制到的确切位置hive-e'describeformattedEmployee'如果

hadoop - 如何列出 Hive 中所有数据库中所有表中的所有列

我需要列出我的Hive中所有数据库的所有表中的所有列。我需要这样一行:Database.table.columncolumn_typecomment显然我可以使用showdatabases;对于我可以使用的每个数据库showtables;并且对于每个表使用:describetable_name;显然,我可以使用位于我的Postgress数据库中某处的Hive_metastore数据库,但我无法访问那里。但我想要一个bash脚本,它可以遍历数据库->表->列并获取详细信息。我已经开始生成数据库列表:hive-e'showdatabases;'|teedatabases.txt比起我要遍历

hadoop - HIVe - 创建表为 - 从现有表创建 Parquet 表时出错

我使用CTAS从现有表(订单)创建了一个Parquet表(orders_parquet),如下所示:CREATETABLEorders_parquetROWFORMATSERDE'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'STOREDASINPUTFORMAT'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.parquet.MapredParquetO

Hadoop - 当有 Spark 作业正在运行时,Sqoop 作业卡在已接受状态

目前我有一个始终需要运行的spark作业(java)。它不需要太多资源。但是,每当我运行sqoop作业(MapReduce)时,该作业都会卡在已接受状态:WAITING分配、启动AM容器并向RM注册。我检查了Ambari,用于调度的spark配置是公平的。为了进行测试,我尝试运行2个相同的spark作业,但没有出现任何问题(两者的状态均为RUNNING)。应该有足够的内核和内存来运行mapreduce作业。Spark提交命令:/usr/hdp/current/spark-client/bin/spark-submit\--classcom.some.App\--masteryarn-c

hadoop - 将 LD_PRELOAD 与 Apache Spark(或 YARN)结合使用

我们在ApacheHadoopYARN上运行Spark作业。我特别需要在这些作业上使用“LD_PRELOAD技巧”。(在任何人panic之前,它不是用于生产运行;这是自动化作业测试的一部分)。我知道如何在作业中提交额外的文件,我知道如何在节点上设置环境变量,所以将这些设置添加到spark-defaults.conf几乎提供了一个解决方案:spark.files=/home/todd/pwn_connect.sospark.yarn.appMasterEnv.LD_PRELOAD=pwn_connect.sospark.executorEnv.LD_PRELOAD=pwn_connect

hadoop - hive 列到行

如何根据存储在现有列中的类型在HIVE中创建新列?例如,我有:idProductType1car2bike3truck我想拥有:idcarbiketruck11nullnull2null1null3nullnull1 最佳答案 Use`case`statementtoconvertvaluesintocolumns:selectid,casewhenProductType='car'then1endascar,casewhenProductType='bike'then1endasbike,casewhenProductType='

hadoop - Presto 不从 Hive Metabase 返回行

我是AWSEMR的新手。我已经启动并运行了Hive,并且可以毫无问题地查询S3中的外部表。我现在已经将Presto安装到EMR集群上,这似乎已启动并正在运行并且可以读取Hive元数据库。但是,我运行的每个查询都会返回列标题,但实际上不会返回任何列(下面的查询)。presto:default>selectcount(*)frompatrequests;_col0-------0(1row)Query20171113_163811_00033_vdw6c,FINISHED,1nodeSplits:17total,17done(100.00%)0:00[0rows,0B][0rows/s,0

hadoop - 使用动态列插入 Hive

我收到的文件中的列是动态的。文件1可以是column1column2column3column4column5column6column7文件2可以column1column2column9column10column11column12column13文件3可以column1column2column3column10column11如何将配置单元表修改为我将随文件一起接收的列。 最佳答案 这会非常困惑,但如果没有任何明确的定界符,您能做的最好的事情就是定义一个RegexSerDe并捕获每个可能的列。您缺少的列基本上是一个可选的捕