草庐IT

hadoop - 带有 emrfs 的 hive

我正在使用sqoop将表从AmazonRDS导入到Hive。该进程正在运行,数据存储在配置单元默认的hdfs目录中:/user/hive/warehouse。我需要将存储位置从hdfs更改为emrfss3。据我了解,我需要将属性hive.metastore.warehouse.dir的值(在主节点上的hive-site.xml中)更改为s3//bucket/warehouse-location。看来我没有修改文件hive-site.xml的权限。我正在寻找一些关于如何最好地做到这一点的建议。苏堤 最佳答案 您需要sudo权限才能修改

hadoop - E0701 : XML schema error, cvc-pattern-valid oozie 错误

我正在尝试运行oozie工作流,但出现以下错误:E0701:XML架构错误,cvc-pattern-valid:值“模型和映射表更新”对于模式“([a-zA-Z_]([\-_a-zA-Z0-9])*){1,39}'用于类型'IDENTIFIER'。我在查询中使用以下正则表达式。这有什么问题吗?当我通过Hive或CLI运行时一切正常。regexp_replace(id_col,'^0|[a-zA-Z]+$','')下面是我的workflow.xml${jobTracker}${nameNode}/user/sin/oozie/sources_creation.hql${jobTracke

python - pyhive、sqlalchemy 无法连接到 hadoop 沙箱

我已经安装了,pipinstallthriftpipinstallPyHivepipinstallthrift-sasl和由于pipinstallsasl失败,我下载了sasl‑0.2.1‑cp27‑cp27m‑win_amd64.whl文件并将其安装在我的Windows8.1PC中。然后我写了这段代码,frompyhiveimporthivecursor=hive.connect('192.168.1.232',port=10000,auth='NONE')cursor.execute('SELECT*fromsample_07LIMIT5',async=True)printcurs

mysql - 如何在配置单元中将时间戳转换为 gmt 格式

我的表中有一个时间戳列,我正在从时间戳列中派生一个名为dt_skey的列。为了清楚说明,我们假设时间戳列名称为time_column。这就是time_column看起来像2017-02-0503:33:50,dt_skey列看起来像这样20170205033350这只是删除之间的符号。我的问题是:time_column在美国东部时间,我想在从中导出dt_skey时将其转换为gmt格式。我想这样做的原因是当我们通过impala查询时,时间戳将被转换为gmt格式,而dt_skey不会被转换,因为它是一个int数据类型。我正在通过配置单元进行摄取,当我们通过配置单元查询时,时间戳和dt_sk

date - 如何在配置单元中将字符串格式转换为日期格式

我的表中有时间戳和日期列。我的日期和时间戳列是字符串类型。我需要将其转换为DATE和TIMESTAMP格式。但我数据中的格式是2/4/20173:03。因此,当我将其转换为TIMESTAMP数据类型时,它会给出NULL。我们可以做些什么来解决这个问题?这是我的示例日期和时间列数据。2/3/201723:372/3/201723:372/3/201723:402/3/201723:502/3/201723:512/3/201723:532/3/201723:552/4/20170:082/4/20170:57提前致谢 最佳答案 cre

hadoop - 使用 Spark 获取存储在 JSON 中的值列表的统计属性

我使用以下结构以JSON格式存储我的数据:{"generationId":1,"values":[-36.0431,-35.913,...,36.0951]}我想获取文件(generationIds)的平均值之间的间距分布(连续数字之间的差异)。我的zepplein笔记本中的第一行是:importorg.apache.spark.sql.SparkSessionvalwarehouseLocation="/user/hive/warehouse"valspark=SparkSession.builder().appName("test").config("spark.sql.wareh

hadoop - 用户 ALTER TABLE ... CONCATENATE 与 Hive 中的部分匹配分区

我想在Hive中使用ALTERTABLE...CONCATENATE功能,但似乎我必须提供准确的分区名称。例如,我有一个包含两个分区列、日期和组的表。我希望能够做这样的事情:altertablemytablepartition(insert_date='2017-04-11',group='%')CONCATENATE;但是我找不到这样做的方法。 最佳答案 Concatenate不支持这个。 关于hadoop-用户ALTERTABLE...CONCATENATE与Hive中的部分匹配分区

hadoop - 只能复制到 0 个节点而不是 minReplication (=1)。有 2 个数据节点正在运行,并且没有节点被排除在此操作中

当我对hive执行“sqoopimport...”时出现此错误。namenodelogjava.io.IOException:File/input/xxxx/_temporary/1/_temporary/attempt_1492073551248_0012_m_000002_1/part-m-00002couldonlybereplicatedto0nodesinsteadofminReplication(=1).Thereare2datanode(s)runningandnonode(s)areexcludedinthisoperation.datanodelogsslave1:2

hadoop - Hive 更改外部表和更新架构

我正在寻找一个命令来为我的由Avro架构支持的Hive外部表添加列和更新架构。这是我到目前为止尝试过的方法。我有一个Hive外部表,其中包含使用此命令创建的Avro支持的架构-CREATEEXTERNALTABLE`person_hourly`('personid'stringCOMMENT'','name'stringCOMMENT'')PARTITIONEDBY('partitiontime'string)ROWFORMATSERDE'org.apache.hadoop.hive.serde2.avro.AvroSerDe'STOREDASINPUTFORMAT'org.apach

hadoop - 如何在 Hive 中将 array<date> 转换为 array<string>

我想将数组转换为数组字符串,这样["2016-06-02","2016-06-02"]变成2016-06-02|2016-06-02 最佳答案 使用concat_ws(stringdelimiter,array)连接数组的函数:selectconcat_ws(',',collect_set(date))fromtable;如果日期字段不是字符串,则将其转换为字符串:concat_ws(',',collect_set(cast(dateasstring))) 关于hadoop-如何在Hiv