草庐IT

Spark-Hive

全部标签

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并捕获每个可能的列。您缺少的列基本上是一个可选的捕

java - 与 csv 文件相比,将 mysql 表转换为 spark 数据集非常慢

我在Amazons3中有一个大小为62mb(114000行)的csv文件。我正在将它转换为spark数据集,并从中获取前500行。代码如下;DataFrameReaderdf=newDataFrameReader(spark).format("csv").option("header",true);Datasetset=df.load("s3n://"+this.accessId.replace("\"","")+":"+this.accessToken.replace("\"","")+"@"+this.bucketName.replace("\"","")+"/"+this.fil

sql - 正则表达式替换在 HIVE 中不起作用

我想将数据中的;替换为HIVE中的:尝试了以下但没有工作hive>selectREGEXP_REPLACE('Mozilla/5.0(Macintosh;Intel',';',':');如何在HIVE中实现这一点。我在转换它时遇到问题。 最佳答案 只需使用replace():selectreplace('Mozilla/5.0(Macintosh;Intel',';',':')replace()在文档中描述。 关于sql-正则表达式替换在HIVE中不起作用,我们在StackOverflo