小编Aav*_*vik的帖子

Unix:检查文件的编码

我有一个包含特殊字符的文件。要将这些文件加载​​到 hadoop hive 中,文件应采用 UTF-8 格式。

当我输入file -bi $filename命令来获取编码类型时,它给了我text/plain; charset=us-ascii

然后我使用 icon 通过以下方式转换为 utf-8:

iconv -f iso-8859-1 -t utf8 $filename > ${filename}_conv
Run Code Online (Sandbox Code Playgroud)

现在这个 utf-8 文件已成功加载到 hive 中。但是当我运行file -bi $${filename}_conv命令时它给出: text/plain; charset=us-ascii

我原以为字符集是 utf8,但它返回的是 ascii。

有没有其他方法可以找到编码。因为我可能会重复使用该文件并且不想再次编码。

没有 isutf8 或 chardet,我尝试了 file --mime。所有这些似乎都不起作用。

是否有任何其他命令可用于确定编码类型,将会非常有帮助。

谢谢。

unix linux shell

5
推荐指数
0
解决办法
1万
查看次数

spark streaming + kafka - spark session API

感谢您使用spark 2.0.2运行火花流程序的帮助.

运行错误"java.lang.ClassNotFoundException: Failed to find data source: kafka".修改后的POM文件如下.

正在创建Spark,但是在调用来自kafka的负载时出现错误.

创建火花会话:

 val spark = SparkSession
            .builder()
            .master(master)
            .appName("Apache Log Analyzer Streaming from Kafka")
            .config("hive.metastore.warehouse.dir", hiveWarehouse)
            .config("fs.defaultFS", hdfs_FS)
            .enableHiveSupport()
            .getOrCreate()
Run Code Online (Sandbox Code Playgroud)

创建kafka流媒体:

    val logLinesDStream = spark
      .readStream
      .format("kafka")
      .option("kafka.bootstrap.servers", "localhost:2181")
      .option("subscribe", topics)
      .load()
Run Code Online (Sandbox Code Playgroud)

错误信息:

Exception in thread "main" java.lang.ClassNotFoundException: Failed to find data source: kafka. Please find packages at http://spark-packages.org
Run Code Online (Sandbox Code Playgroud)

pom.xml中:

    <scala.version>2.10.4</scala.version>
        <scala.compat.version>2.10</scala.compat.version>
        <spark.version>2.0.2</spark.version>
    <dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>${spark.version}</version>
        </dependency>
<dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.10</artifactId>
            <version>${spark.version}</version>
        </dependency> …
Run Code Online (Sandbox Code Playgroud)

scala apache-kafka apache-spark spark-streaming-kafka

3
推荐指数
1
解决办法
2472
查看次数

在 Windows 上安装 Hive:“hive”不是内部或外部命令、可运行的程序或批处理文件

我已经在 Windows 上安装了 Hadoop 2.7.3,并且能够启动集群。现在我想拥有 hive 并完成以下步骤: 1. 下载 db-derby-10.12.1.1-bin.zip,解压并启动 startNetworkServer -h 0.0.0.0。
2、从镜像站点下载apache-hive-1.1.1-bin.tar.gz并解压。创建 hive-site.xml 以具有以下属性:

javax.jdo.option.ConnectionURL
javax.jdo.option.ConnectionDriverName
hive.server2.enable.impersonation
hive.server2.authentication
datanucleus.autoCreateTables
hive.metastore.schema.verification
Run Code Online (Sandbox Code Playgroud)

我还设置了 HIVE_HOME 并更新了路径。同时设置 HIVE_LIB 和 HIVE_BIN_PATH。

当我从 bin 运行 hive 时,我得到 'hive' 不是内部或外部命令、可运行的程序或批处理文件。

bin/hive 显示为文件类型文件。请建议。不确定蜂巢版本是否正确。

谢谢你。

hadoop hive

2
推荐指数
1
解决办法
5232
查看次数

引起原因:java.lang.OutOfMemoryError:超出GC开销限制

你能帮我解决 GC 开销错误吗?

背景:这是一个pig脚本,通过HCATALOGUE从4个hive表加载数据。Hive 表位于序列文件中并按日期分区。加载数据大小约为。24TB。

此脚本已成功运行 16TB。

问题:尝试从配置单元读取数据时作业失败。未为此映射缩减提交应用程序 ID,甚至在提交应用程序 ID 之前就发生故障。因此,无法在 YARN 中找到日志。

我尝试将yarn.app.mapreduce.am.resource.mb修改为6G,mapreduce.map.memory.mb(6GB),mapreduce.map.java.opts(6GB的0.8%),mapreduce.reduce.memory.mb( 8GB)和mapreduce.reduce.java.opts。并且仍然得到相同的错误。

请问对此有什么帮助吗?

谢谢。

hive heap-memory

1
推荐指数
1
解决办法
9978
查看次数

Flask docker - equests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8080): url 超出最大重试次数:/users

我有 python Flask 应用程序,它监听在 8080 上运行的另一个微服务。当我作为 Flask 应用程序运行时,它可以从 http://localhost:8080/users 获取。

但是当我在 docker 内部运行时它失败了

requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8080): Max retries exceeded with url: /users (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f53804b5dc0>: Failed to establish a new connection: [Errno 111] Connection refused'))
Run Code Online (Sandbox Code Playgroud)

在行:

File "/alert.py", line 45, in get_users
    r = requests.get('http://localhost:8080/users',verify=False)
Run Code Online (Sandbox Code Playgroud)

这是我的主要代码:

if __name__ == '__main__':
    app.logger.setLevel(logging.INFO)
    data = create_data()
    port = os.getenv('PORT')
    app.run(debug=True, host='0.0.0.0', port=port)
Run Code Online (Sandbox Code Playgroud)

Docker 脚本:

#!/bin/bash
docker build -t covid_service .
docker run -p 5000:5000 covid_service
Run Code Online (Sandbox Code Playgroud)

Docker 文件:

FROM python:3 …
Run Code Online (Sandbox Code Playgroud)

flask docker

0
推荐指数
1
解决办法
4767
查看次数

获取 GMT 格式的日期作为字符串

我想要将 GMT 中的日期作为字符串,如下面的 JavaScript 代码:

const date = new Date();
date.toGMTString();
Run Code Online (Sandbox Code Playgroud)

我指的是: Parsing Java String into GMT Date,我的代码如下所示,但出现错误:

private static String getDateGMT() {
        Date date = new Date(System.currentTimeMillis());
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
        sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
        System.out.println(sdf.format(date));
        return sdf.format(sdf);
    }
Run Code Online (Sandbox Code Playgroud)

如何获取“2021 年 11 月 4 日星期四 06:50:37 GMT”格式的日期?

java

0
推荐指数
1
解决办法
531
查看次数